POST值从客户端到服务器,然后分配给标签,立即丢失-为什么

本文关键字:标签 为什么 分配 客户端 然后 服务器 POST | 更新日期: 2023-09-27 18:02:42

我想发送一个简单的值从我的客户端。aspx网页使用JQuery或javascript,到我的服务器端代码(c#)。从这些数据中,我想填充一些asp.net标签。

问题是,虽然我可以在服务器上获得数据,但一旦线程离开代码隐藏方法,就会立即丢失任何值。为什么?我怎样才能预防呢?先进谢谢。

这是我到目前为止所做的…

客户端ContentPlaceHolderID="head"标签(my网页。

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  <script>
    $.post("MyWebPage.aspx",
      {
         myKey:"Hello World"
      },
     function () {});
   </script>
</asp:Content>

服务器端。cs

Page_Load(
      if (Request.Params["myKey"] != null)
      {
          if (Request.Params["myKey"] == "Hello World")
             {
                 Label1.Text = "Hello World";
                 Label2.Text = Request.Params["myKey"].ToString();
                 HiddenField.Value = "Hello World";
                 // All values are assigned here, but...
             } 
      }    
);

页面显示;上述所有赋值都将丢失:-(为什么??

POST值从客户端到服务器,然后分配给标签,立即丢失-为什么

AJAX调用向服务器提交异步请求,服务器处理请求并发回响应。然后期望您对该响应执行一些操作,但是您没有,因为您已将一个空回调函数传递给$.post()

服务器返回的内容不会神奇地放在您的页面上,这不是AJAX的工作方式,您必须自己做(或使用jQuery .load()函数)。

$.post("MyWebPage.aspx", {
     myKey:"Hello World"
}, function (responseText) {
    // do something with responseText here
});