c# - 按钮单击事件未触发,但 modalpopupextender 正在运行

标签 c# asp.net html ajax

在我的项目中 我有

 <asp:AsyncPostBackTrigger ControlID="btnAdd" EventName="Click" />

在此输入代码
管理员- *如果需要

        <asp:ModalPopupExtender ID="ModalPopupExtender1" PopupControlID="Panel1" TargetControlID="btnAdd"
            BackgroundCssClass="modalBackground" runat="server">
        </asp:ModalPopupExtender>
        <asp:Panel ID="Panel1" align="center" CssClass="modalPopup" runat="server">
        <div class="body-reg-left">
        <div class="body-top-reg">
            <div class="he-reg">
                <b>Admin </b>- *If Neccesery</div>
        </div>
            <table>
                <tr>
                    <td>
                        <asp:Label ID="lblCategoryID" runat="server" Text="" CssClass="lbF"></asp:Label>
                    </td>
                    <td>
                     <asp:Label ID="lblstt" runat="server" Text=""></asp:Label>
                    </td>
                    <tr>
                      <td>
                        <asp:Label ID="Label1" runat="server" Text="Brand Name" CssClass="lbF"></asp:Label>
                    </td>
                    <td>
                        <asp:TextBox ID="txtbrdName" runat="server"></asp:TextBox>
                    </td>
                    </tr>

                </tr>
                <tr>
                    <td>
                        <asp:Button ID="BtnBrdName" runat="server" Text="Add" Width="70px" OnClick="Button1_Click" />
                        <asp:Button ID="btncancel" runat="server" Text="Cancel" OnClick="btncancel_Click" />
                    </td>
                </tr>
            </table>
            </div>
        </asp:Panel>
    </div>
</div>
</ContentTemplate>

</asp:UpdatePanel>

如果我单击 btnAdd 类别文本框中的值应该转到数据库并弹出窗口....但在我的项目中 btnADD 按钮的单击事件没有触发并且 modalpopup 正在工作....请给给我一个解决方案..

最佳答案

我遇到了同样的问题,出于某种原因,当您将按钮设置为模态弹出窗口的 TargetControlID 时,它会禁用 Click 事件。

我克服这个问题的方法是在页面上放置一个不可见/虚拟的标签控件并将模态的 TargetControlID 属性设置为此标签。然后在您的 btnAdd Click 事件中从数据库中获取所有必要的值并简单地调用ModalPopupExtender1.Show() 显示模式:

ASPX:

<form id="form1" runat="server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Button ID="btnAdd" runat="server" Text="Add" OnClick="AddClick" />
        <asp:Label ID="dummyLabel" runat="server" />
        <asp:ModalPopupExtender ID="ModalPopupExtender1" PopupControlID="Panel1" TargetControlID="dummyLabel"
            BackgroundCssClass="modalBackground" runat="server">
        </asp:ModalPopupExtender>
        <asp:Panel ID="Panel1" align="center" CssClass="modalPopup" runat="server">
            <div class="body-reg-left">
                <table>
                    <tr>
                        <td>
                            <asp:Label ID="Label1" runat="server" Text="Brand Name" CssClass="lbF"></asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="txtbrdName" runat="server"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <asp:Button ID="BtnBrdName" runat="server" Text="Add" Width="70px" OnClick="Add" />
                            <asp:Button ID="btncancel" runat="server" Text="Cancel" OnClick="Cancel" />
                        </td>
                    </tr>
                </table>
            </div>
        </asp:Panel>
        </div> </div>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnAdd" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>
</form>

代码隐藏:

protected void Add(object sender, EventArgs e)
{
    //Add logic
}

protected void Cancel(object sender, EventArgs e)
{
    //Cancel logic
}

protected void AddClick(object sender, EventArgs e)
{
    txtbrdName.Text = "Some category"; //Populate the value as required
    ModalPopupExtender1.Show();
}

关于c# - 按钮单击事件未触发,但 modalpopupextender 正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13758476/

相关文章:

html - 在 div 中垂直对齐内联列表

c# - Ubuntu 上单声道的 log4net Udp appender 不记录

c# - 在没有打印对话框的情况下从 Windows 服务打印 html 文档

c# - aspx页面重定向到新页面

html - ctl00前缀是什么时候加的?

javascript - 在输入类型 ="range"上禁用箭头键

javascript - 确定带有类的部分是否可见,jQuery

c# - 获取 IP 地址而不是 MAC 地址

c# - 使用 UriTemplate 将枚举和自定义类传递给 WCF RESTful 服务

ASP.NET 'Session.Remove(key)' v/s 'Session(key) = nothing'