首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET - JQuery模式对话框中的UpdatePanel

ASP.NET - JQuery模式对话框中的UpdatePanel
EN

Stack Overflow用户
提问于 2011-06-08 09:41:21
回答 2查看 5.1K关注 0票数 1

我正在尝试更新模式对话框的内容。我在对话框中使用了一个updatepanel,但是页面会刷新,所以对话框关闭了。

代码语言:javascript
复制
$("#dlg").dialog({
  autoOpen: false,
  bgiframe: true,
  width: 500,
  modal: true,
  closable: true,
  buttons: {
    Close: function () {
      $(this).dialog('close');
    }
  }
});
$("#dlg").parent().appendTo($("form:first"));

function openDialog() {
  $('#dlg').dialog('open')
  return false;
}

页面如下:

代码语言:javascript
复制
<div id="dlg">
<asp:UpdatePanel ID="upNewUpdatePanel" runat="server">
    <ContentTemplate>
    <asp:Label ID="updateLabel" runat="server"></asp:Label>
    </ContentTemplate>
    </asp:UpdatePanel>
</div>


<asp:LinkButton ID="updateSomething" runat="server" Text="Update" CausesValidation="false" OnClientClick="openDialog();" onclick="UpdateButton_Click" />

和update函数:

代码语言:javascript
复制
protected void UpdateButton_Click(object sender, EventArgs e)
{
    updateLabel.Text = DateTime.Now.ToString();
}

谁能告诉我,要想在不刷新页面的情况下更新对话框,需要做些什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-08 09:44:43

您必须在updatepanel中定义linkbutton的AsyncPostBackTrigger,如下所示

代码语言:javascript
复制
<asp:UpdatePanel ID="upNewUpdatePanel" runat="server">
   <ContentTemplate>
       <asp:Label ID="updateLabel" runat="server"></asp:Label>
   </ContentTemplate>
   <Triggers>
       <asp:AsyncPostBackTrigger ControlID="updateSomething" EventName="Click" />
   </Triggers>
</asp:UpdatePanel>
票数 3
EN

Stack Overflow用户

发布于 2011-06-08 09:51:39

巴拉是对的。我很确定这一点,但有一件事要记住,如果你在$(document).ready()中连接对话框,当UpdatePanel刷新时,它不会被保留。实际上,页面的这一部分将被重新创建(部分页面回发),并且在加载文档时连接的任何事件都将丢失。我在过去遇到过这种情况--我非常确定这就是正在发生的事情。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6273375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档