传值:ajax中的data(json)
js代码:
<script type="text/javascript"> $(function () { $("#btnAddNews").bind("click", function () { var _name= $.trim($("#txtNewTitle").val()); $.ajax({ type: "POST", url: "AddNews.aspx/addNew", //data: "{'title':'" + title + "','content':'" + content + "'}",
data:{name:_name}, contentType: "application/json;charset=utf-8", dataType: "json", success: function (data) { alert(data.d); }, error: function (err) { alert(err); } }); }); }); </script>
获取后台的值:
在asp.net webform开发中,用jQuery ajax传值一般有几种玩法
1)普通玩法:通过一般处理程序ashx进行处理;
2)高级玩法:通过aspx.cs中的静态方法+WebMethod进行处理;
3)文艺玩法:通过WCF进行处理。
ashx:
js脚本:
<script type="text/javascript">
function ConfirmChange() {
$.ajax({
type: "POST",
//页面请求的类型,通常使用POST,那么处理页需要使用Request.Form["参数名称"]来获取页面传递的参数 否则就是Request.QueryString["参数名称"]
//query传值又分类post ,get格式如
//post请求
//string name = Request["name"].toString();
//string name =Request.Form.Get("name").toString();
//get请求
//string name = Request.QueryString["name"].toString();
//但我发现 无论是否是post与get传值都可用
//string name = Request["name"].toString();
url: "UpdatePasswordOfUser.ashx", //处理页的相对地址
data: { OriginalPass: $('#txtOriginalPass').val(), NewPass: $('#txtNewPass').val(), RePass: $('#txtConfirmPass').val() },
success: function (msg) { //这是处理后执行的函数,msg是处理页返回的数据
alert(msg);
}
});
}
</script>
ashx处理页面的代码:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string OriPass = context.Request.Form["OriginalPass"]; //原始密码(Get传参对应QueryString)
string txtNewPass = context.Request.Form["NewPass"]; //新密码
string txtConfirmPass = context.Request.Form["RePass"]; //确认密码
/*-----这里可以写调用的函数------*/
context.Response.Write("密码修改成功"); //返回信息
}
WebMethod:
最上面有调用 就写后台方法:接的引用system.web.webservies
[WebMethod] public static string addNew(string title, string content) { return title + content; }
wcf:
引用 http://kb.cnblogs.com/page/50175/ 很详细