2011-05-12 35 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

相關問題