开发者

unable to pass post value over from ajax to the page in .net c#

开发者 https://www.devze.com 2023-03-05 19:23 出处:网络
Does anyone know what is it going on here? I have try to pass a value from ajax to .aspx, but somehow 开发者_如何学JAVAthe value seem doesn\'t pass over successfully.

Does anyone know what is it going on here? I have try to pass a value from ajax to .aspx, but somehow 开发者_如何学JAVAthe value seem doesn't pass over successfully.

Following is my code:

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

and this is my code inside my .net c#:

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

Somehow the for Request.QueryString["sState"] is empty in .net c#. Does anyone know what is going wrong here ?


When passing data in POST, the data is not passed in Request.QueryString, it's passed into Request.Form instead. Try

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

Another thing I'd change is the jQuery call - use a data object instead of just a string, a such:

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


Request.QueryString is for GET requests only. For POST requests, you need Request.Form. See also: Get POST data in C#/ASP.NET


You need to use GET request as it is light in nature but less secured too and it is passed in querystring.:

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

Now you will get below values:

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

精彩评论

暂无评论...
验证码 换一张
取 消