您的位置:首页 > Web前端 > JavaScript

使用JavaScript调用aspx后台代码

2013-07-02 17:28 274 查看
方法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;
}


注意:下载功能是错误的。但是函数可以这样调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: