2011-05-12 100 views
1

有人知道这里发生了什么吗?我试图将一个值从ajax传递给.aspx,但不知怎的,值似乎不能成功传递。无法将post值从ajax传递到.net c中的页面#

以下是我的代码:

$.ajax({ 
     type: "POST", 
     url: "pgtest.aspx", 
     data: "sState=VIC", 
     success: function (msg) { 
      alert("Data Saved: " + msg); 
     } 
    }); 

,这是我的我的.NET的C#代码里面:

newTest.Value = Request.QueryString["sState"]; 

不知何故,为的Request.QueryString [ “sState”]在.NET空C#。有人知道这里出了什么问题吗?

回答

1

在POST中传递数据时,数据不会在Request.QueryString中传递,而是传递到Request.Form。尝试

newTest.Value = Request.Form["sState"]; 

我会改变的另一件事是jQuery的呼唤 - 而不是使用只是一个字符串,这样一个数据对象:

$.ajax({ 
     type: "POST", 
     url: "pgtest.aspx", 
     data: { sState: "VIC" }, 
     success: function (msg) { 
      alert("Data Saved: " + msg); 
     } 
}); 
0

Request.QueryString仅适用于GET请求。对于POST请求,您需要Request.Form。另请参阅:Get POST data in C#/ASP.NET

+0

当您使用'Request'索引('请求[ ...]'),您可以从'QueryString','Form','Cookies'或'ServerVariables'获取值。如果你知道价值应该在哪一个 - 并且你应该始终能够知道 - 使用它。在这种情况下,就像我在答复中提到的那样,它是“Form”。 – configurator 2011-05-12 02:53:38

+0

我会承认它 - 我忘了:)我不使用ASP.NET很多。抱歉。 – Ryan 2011-05-12 02:57:42