使用JavaScript调用aspx后台代码


方法1:js同步调用

触发:

onclick="javascript:share('<%# Eval("id_File") %>')"

页面函数:

 function share(id_File) {
            var a = '<%= ShareDoc("' + id_File + '") %>';
            alert(a);

        }

后台cs函数:

  public string ShareDoc(string id_File)
        {
            return "后台函数[" + id_File + "]";
        }

 

方法2:JQuery ajax异步调用

触发:

onclick="javascript:download('<%# Eval("FileNewName") %>','<%# Eval("FileExtName") %>')"

前台函数:

   function download(p1, p2) {
           
            $.ajax({
                url: 'MyDocList.aspx/DownloadDoc',
                contentType: 'application/json; charset=utf-8',
                datatype: 'json',
                type: 'POST',
                data: '{FileNewName:"' + p1 + '",FileExtName:"' + p2 + '"}', //参数
                success: function(result) {//成功后执行的方法
                    alert(result.d); // 后台返回值
                },
                error: function(result) {//失败执行的方法
                    alert("error:" + result.responseText);
                }
            });
         
        }

后台cs函数:

  [WebMethod]
        public static string DownloadDoc(string FileNewName, string FileExtName)
        {

            string filePath = Server.MapPath(string.Format("~/FileUpload/{0}.{1}", FileNewName, FileExtName));
            if (System.IO.File.Exists(filePath))
            {
                FileInfo file = new FileInfo(filePath);
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); //解决中文乱码
                Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name)); //解决中文文件名乱码    
                Response.AddHeader("Content-length", file.Length.ToString());
                Response.ContentType = "appliction/octet-stream";
                Response.WriteFile(file.FullName);
                Response.End();
            }
            return filePath;
        }

注意:下载功能是错误的。但是函数可以这样调用。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM