当前位置: 首页 > 面试题库 >

在asp.net中,未触发“更新面板”中的按钮

贺正祥
2023-03-14
问题内容
<asp:ModalPopupExtender ID="MPE_EditGroup" runat="server" TargetControlID="btnShowPopup" PopupControlID="pnlpopup" CancelControlID="btnCancel" />
<asp:ToolkitScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
    <ContentTemplate>
        <asp:Panel ID="pnlpopup" runat="server">
            <asp:ListBox ID="lst_allmembers" DataValueField="FirstName" runat="server" />                       
            <asp:Button ID="btn_Add" runat="server" Text="Add" OnClick="btn_Add_Click" /><asp:ListBox ID="lst_grpmembers" runat="server" />
            <asp:Button ID="btn_remove" runat="server" Text="Remove" />
            <asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" OnClick="btnUpdate_Click" />
            <asp:Button ID="btnCancel" runat="server" Text="Cancel" /></asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>

添加按钮具有事件OnClick =“ btn_Add_Click”

  protected void btn_Add_Click(object sender, EventArgs e)
  {
        lst_grpmembers.Items.Add(lst_allmembers.SelectedItem.Text);
             }

该事件未触发,当我单击添加按钮时,没有任何反应。而且,在我添加更新面板之前,“更新按钮”工作正常,现在只有“取消”按钮关闭了弹出窗口,而其他按钮在弹出窗口内无法正常工作如何触发事件。


问题答案:

将UpdatePanel的ChildrenAsTriggers属性更改为true。这将导致由UpdatePanel的子html" target="_blank">元素触发的任何回发更新其内容。

编辑 :刚刚意识到这btn_Add是一个嵌套的控件,所以您将必须明确地将其称为UpdatePanel Trigger。在ContentTemplate之后,将以下内容添加到您的UpdatePanel标记中:

<Triggers>
    <asp:AsyncPostBackTrigger ControlID="btn_Add" /> 
</Triggers>

编辑#2
:要防止发生异步回发时关闭模态弹出窗口,请在UpdatePanelModalPopupExtender的PopupControlID指定的面板内部移动:

<asp:Panel ID="pnlpopup" runat="server">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
        <ContentTemplate>
            <asp:ListBox ID="lst_allmembers" DataValueField="FirstName" runat="server" />
            <asp:Button ID="btn_Add" runat="server" Text="Add" OnClick="btn_Add_Click" />
            <asp:ListBox ID="lst_grpmembers" runat="server" />
            <asp:Button ID="btn_remove" runat="server" Text="Remove" />
            <asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" OnClick="btnUpdate_Click" />
             <asp:Button ID="btnCancel" runat="server" Text="Cancel" />
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Panel>


 类似资料:
  • 问题内容: 我正在从此处(http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx)跟踪如何使用更新面板的简单示例。在更新面板之外,我还有另一个html输入控件,该控件调用一个javascript函数,该函数在警报框中向用户显示计数。简单的东西。我的问题是,在IIS和内置的asp.net We

  • > 按常规声明代码 Page language=“vb”autoeventwireup=“false”masterpageFile=“~/site.master”codeBehind=“RetailCompetition.aspx.vb”inherits=“company.applications.production.ui.RetailCompetition” 事件

  • 问题内容: 当我在“更新”面板中使用“按钮”时,它不会触发点击事件,但在更新面板之外,它可以工作。 这是代码 按钮的代码是 问题答案: 试试这个 集到和附加在

  • 问题内容: 我有一个包含的Web用户控件。表单视图显示求职者的详细信息。我为“下载简历”链接提供了一个按钮,以便管理员/ HR可以下载简历。我已将此控件放置在包含UpdatePanel的aspx页面中。除了下载链接,其他一切都正常。 我已经给出了“下载链接上的命令”链接按钮,并且有一个函数与该命令相关联以开始下载。 下面是我实现的代码- 如果删除了更新面板,则代码可以正常工作,但是如果使用了更新面

  • 问题内容: 您好,我正在创建一个ASP.NET/C#应用程序,我有一个更新面板,该面板需要花费一些时间进行更新。在计算期间,是否可以显示“正在加载…请稍候”消息? 目前,我正在使用AJAX面板动画淡入/淡出,以使面板在计算时消失,然后在完成时重新出现。但这不是很实际。 如果可能,我需要显示一条消息。 感谢您的任何帮助。 这是我的面板的代码: 和Ajax Panel动画扩展器 问题答案: 您可以在以