将表单序列化发送到asp.net webmethod

时间:2009-12-27 19:23:21

标签: asp.net jquery serialization

该项目仍在继续。 。

我有一个表单,我正在使用jquery表单插件进行序列化。效果很好。

然后我使用jquery ajax功能发布到asp.net web方法,以便每个表单元素都可以插入到数据库中。

我的问题是这个,我如何循环遍历asp.net web方法中通过ajax发送的每个request.form参数。如果我使用标准Request.Form(“”),我收到一个错误。这是我的代码。

var queryString = $('input').fieldSerialize(); 

$.ajax({
   type: "POST",
   url: "Detail.aspx/doPostTest",
   data: "{ 'txtQuery': '" + queryString + "'}",
   contentType: "application/json; charset=utf-8",
   dataType: "json",
   success: function (data) {
        var products = eval(data.d);                             
        console.log(products);
   }
});

代码

<System.Web.Services.WebMethod()> _
Public Shared Function doPostTest(ByVal txtQuery As String) As String

    'Grab Request Form variables
    Request.Form("txtMember")
End Function

我在服务器端收到的错误如下:

  

无法引用实例成员   共享方法中的类或   共享成员。 。等

提前致谢。

1 个答案:

答案 0 :(得分:2)

您需要致电HttpContext.Current.Request以从静态方法访问当前的HttpRequest

您的网页继承的Page类包含一个实例属性Request;因此,无法通过静态方法访问此prop。