0

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

问题是,虽然我可以在服务器上获取数据,但一旦线程离开代码隐藏方法,为任何内容分配任何值都会立即丢失。为什么?我怎样才能防止它???进阶谢谢。

这是我目前所拥有的......

ContentPlaceHolderID="head" 标记内的客户端(MyWebPage.aspx 在母版页内):

<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...
             } 
      }    
);

页面显示;所有上述分配的值都丢失了:-(为什么???

4

1 回答 1

1

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

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

$.post("MyWebPage.aspx", {
     myKey:"Hello World"
}, function (responseText) {
    // do something with responseText here
});
于 2013-03-07T16:53:11.883 回答