1

我的页面上有几个更新面板,如下所示:

<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 是我试图移动文本框值的地方。但是为了测试字符串,我删除了所有代码,只是在我的点击事件上添加了一个消息框,用于 Button1 以检查字符串是否正在传递。似乎每次都是一个空字符串。

我尝试设置ChildrenAsTriggers为 true 和 false,删除了触发器部分,将更新面板的enableviewstate属性设置为 true,尝试在更新模式之间切换,但似乎没有任何效果。

这可能是重复的,但我在这里和谷歌上浏览了与此相关的帖子,但仍然没有找到任何解决方案。

有任何想法吗?

4

1 回答 1

2

事实证明,我在其中一个更新面板中使用了 jQuery UI 对话框,该面板将对话框附加到正文的末尾(在表单标签之外)。我在对话框的脚本中添加了以下行:

dlg.parent().appendTo(jQuery("form:first"));

......它成功了!

于 2012-11-16T09:53:55.507 回答