asp.net前台调用后台带参数的方法:
一、前台注意事项:1、必须使用post传参方式
2、前台使用的参数名称必须与后台接收参数名称一致
二、后台注意事项:1、必须要有[WebMethod]
2、必须使用public static属性
满足以上条件才可以成功调用后台带参数的方法。
前台方法:
$("#dlg").dialog({
onClose: function () {
$.ajax({
type: “post”,//注意:要想调用后台带参数的方法,必须使用post方法传参才可以调用,get方法无法调用带参数的后台方法
url: “/UI/Khwh_page/khwh.aspx/update_zpsl”,//后台的刷新sql数据库中的照片数量的方法,此方法是一个带参数方法,参数是:传一个文件路径进去,然后再分析出编号,根据编号来刷新客户维护此行的照片数量
dataType: “text”, //你可以用JSON
data: “{wjlj:’” + lj + “’}”,//此处的参数要与后台方法接收的参数名称一致才可以调用后台带参数的方法(重要费了一天的功夫才搞明白)
contentType: “application/json; charset=utf-8”,
success: function (data) {
var jj = JSON.parse(data);//解析得到json数据
if(jj)//bool型,如果为true则刷新前台页面
{
window.location.reload();
},
error:function(){
alert(“照片数量更新失败!请联系程序员!”);
}
}
});
}
});
后台方法:
[WebMethod]
public static string update_zpsl(string wjlj)
{
//string wjlj = “/客户维护/1/”;
int a1 = wjlj.IndexOf(@"/客户维护/")+6;
int a2 = wjlj.LastIndexOf(@"/")-a1;
string syz = wjlj.Substring(a1,a2);
StringBuilder sb = new StringBuilder();
sb.Append(“SELECT * FROM 文档图片总表 where 表名=‘客户维护’ and 索引值=’” +syz + “’”);
DataTable dt = SqlHelper.ExecuteDataTable(sb.ToString(), new SqlParameter[] { });
int zpsl = dt.Rows.Count;
int result=SqlHelper.ExecuteNoneQuery(“update 客户维护 set 照片数量=” + zpsl + " where 编号=" + syz, new SqlParameter[] { });
if(result>0)
{
return “[“jg”:“true”]”;
}
else
{
return “[“js”:“false”]”;
}
}