【发布时间】:2011-09-16 20:14:00
【问题描述】:
我的 ASP 页面上有一些代码,如下所示:
<asp:UpdatePanel runat="server" id="updatepanel1" UpdateMode="Conditional" onload="updatepanel1_Load" ChildrenAsTriggers="false">
<ContentTemplate>
<asp:HiddenField id="sendingRequest" runat="server" Value="0" />
....
</ContentTemplate>
</asp:UpdatePanel>
我的页面上也有一些 javascript,用于触发更新面板的更新:
var sendingRequest = document.getElementById("<%=sendingRequest.ClientID%>");
sendingRequest.value = "1";
__doPostBack('<%= updatepanel1.ClientID %>', '');
到目前为止一切正常,但在我的 updatepanel1_Load 事件中,我尝试将值设置回“0”:
sendingRequest.Value = "0";
这个值在回发后永远不会在客户端更新并设置回 0,我不知道为什么!
有人可以帮忙吗?谢谢
【问题讨论】:
-
它不是重复的.. 这是在服务器端代码中动态创建隐藏字段值时获取隐藏字段值的问题。这里我的问题是在 UpdatePanel ContentTemplate 容器中创建客户端时隐藏字段的值没有更新
-
您确定在服务器上将其设置回 0 后没有被设置回 1(或从视图状态加载)?
-
不是故意的.. 这个问题是否与同一页面上的第二个更新面板有关,该更新面板每 5 秒刷新一次?我不明白为什么它会影响隐藏字段的更新,因为隐藏字段位于单独的更新面板中
-
有什么方法可以发布完整的 .aspx 页面和代码吗?如果不出意外,它将在审查您的代码时为我们提供更好的上下文。也许我们可以为您找到更好的解决方案。
标签: javascript .net asp.net postback