我的页面上有几个更新面板如下:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Submit"></asp:Button>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
...some more basic controls here...
</ContentTemplate>
</asp:UpdatePanel>
当我在UpdatePanel1中点击提交时,文本框中的值将丢失。我不确定这是否是因为在同一页面上有两个更新面板。
UpdatePanel2是我试图移动文本框值的地方。但是为了测试字符串,我删除了所有代码,只是在我的Click事件上添加了一个消息框,用于检查字符串是否正在传递。似乎每次都是一个空字符串。
我尝试将ChildrenAsTriggers
设置为true和false,删除了触发器部分,将更新面板的enableviewstate
属性设置为true,尝试在更新模式之间切换,但似乎没有任何效果。
这可能是重复的,但我已经在这里和谷歌浏览了与此相关的帖子,但仍然没有找到任何解决方案。
有什么想法吗?
答案 0 :(得分:1)
事实证明,我正在为我的一个更新面板使用jQuery UI对话框,该对话框将对话框附加到正文的末尾(在表单标记之外)。我在对话框的脚本中添加了以下行:
dlg.parent().appendTo(jQuery("form:first"));
......它就行了!