如何使用ajax在asp.net中发布表单数据

我想使用ajax发布asp.net的表单数据。 并希望在另一个页面上接收该数据作为表单数组。

这是希望我现在正在做Default2.aspx

$('#btnSubmit').click(function () { $.ajax({ type: "POST", url: "Default3.aspx", data: $('#form1'), success: function (msg) { alert("Success"); } }); }); 

在Default3.aspx上

  protected void Page_Load(object sender, EventArgs e) { int loop1; NameValueCollection coll; //Load Form variables into NameValueCollection variable. coll = Request.Form; // Get names of all forms into a string array. String[] arr1 = coll.AllKeys; for ( loop1 = 0; loop1 < arr1.Length; loop1++) { Response.Write("Form: " + arr1[loop1] + "
"); Label1.Text = arr1[loop1]; } }

更新:我通过ajax调用发送序列化对象。 我想在我的asp.net代码中使用该数据。 我怎样才能做到这一点 ?

使用serialize方法。

由于您使用的是表单,因此可以让它控制如何发布post:

 var $frm = $('#form1'); $('input[type="submit]', $frm).click(function (e) { e.preventDefault(); $.ajax({ type: $frm.attr('method'), url: $frm.attr('action'), data: $frm.serialize(), success: function (msg) { alert("Success"); } }); }); 

哪些可以重构为可以放在母版页中的通用脚本:

  

让你使用CSS类post-using-ajax将所有表单转换为AJAX表单。

 

检查一次。 使用ajax将数据发布到其他页面

如果您的表单中的字段很少,也许您应该使用$ .ajax,如:

 $.ajax({ type: "POST", url: "default3.aspx", data: {name:"usename", sex:"male", age:"18"}, dataType:"json", success: function (msg) { alert("Success"); } }); 

我认为这是最简单的方法。