项目场景:
使用updatepanel及hiddenfield的webform
问题描述
在时间处理中改写hiddenfield的值,回发后hiddenfield的值没有改变,取到的依然是旧值。
原因分析:
页面使用UpdatePanel局部更新,如隐藏域HiddenField不在UpdatePanel中,后台虽然用新值赋值进去了,但前台页面由于只对该UpdatePanel进行了页面更新处理,隐藏域中的值仍是旧值。
解决方案:
若希望每次页面有变化该隐藏域都能获取到前次后台处理存放进去的新值时,可在此隐藏域外加层UpdatePanel UpdateMode="Always" 使其每次更新。
<asp:UpdatePanel runat="server" ID="upHiddenF" UpdateMode="Always">
<ContentTemplate>
<asp:HiddenField runat="server" ID="hfToDoFlowNo" ClientIDMode="Static" Value="0" />
<asp:HiddenField runat="server" ID="hfToDoFlowName" ClientIDMode="Static" Value="" />
</ContentTemplate>
</asp:UpdatePanel>