【问题标题】:ModalPopupExtender Button ProblemModalPopupExtender 按钮问题
【发布时间】:2011-03-22 17:31:16
【问题描述】:

我试图弄清楚为什么我的 ModalPopupExtender 一直关闭,每次用户单击任一按钮时,它都会运行后面的代码,因为我在其中设置了一个断点并且它在那里中断,但是 modalPopup 立即关闭,这不好,因为如果它在无法显示的过程中有任何错误。那么如何阻止 modalpopup 自行关闭呢?我没有指定 OKControlID 或 CancelControlID。

面板代码:

<asp:Panel ID="Panele" runat="server" style="display: none; position:absolute; top: 50%; left: 35%; width: 500px; height: 350px; background-color: White; border: solid 1px black; padding-left: 15px; text-align: left;">
        <asp:ImageButton ID="CloseEBtn" runat="server" 
        ImageUrl="images/CloseButton.png" style="float: right; margin-right: 3px; margin-top: 3px;" 
        onclick="CloseEBtn_Click" />
<strong>Name:<asp:TextBox ID="fromTextBox" runat="server"></asp:TextBox></strong>
    <asp:Button ID="SndBtn" runat="server" Text="Send" onclick="SndBtn_Click" />
&nbsp;<asp:Button ID="ClrBtn" runat="server" Text="Clear" />
    <br />
    <br />
    <asp:Label ID="msglabel" runat="server"></asp:Label>
</asp:Panel>

我的 ModalPopupExtender 代码:

<asp:ModalPopupExtender ID="popup" runat="server" 
    TargetControlID="SIBtn" PopupControlID="Panele" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>

代码隐藏:

    protected void SndBtn_Click(object sender, EventArgs e)
    {
        msglabel.Text = "The Window Didnt Close";
    }
    protected void ClrBtn_Click(object sender, EventArgs e)
    {
        fromTextBox.Text = "";
        toTextBox.Text = "";
        subjectTextBox.Text = "";
        MessageTextBox.Text = "";
        msglabel.Text = "";
    }

【问题讨论】:

  • 请同时发布您的代码隐藏方法

标签: asp.net popup modalpopupextender


【解决方案1】:

如果您的意思是页面回发,则通过代码隐藏运行,模式弹出窗口不会显式地重新加载自己。您必须从服务器编写一些代码来显示模态弹出窗口;扩展器上有一个服务器端 Show() 方法和一个客户端 show() 方法,如:

$find("<%= mpe.ClientID %>").show();

HTH。

【讨论】:

  • 问题是我有其他东西会在页面上生成回发,那么我如何确定该回发是否是由 modalpopup 引起的?
  • 您可能希望在按钮单击后从代码隐藏中注入 Brian 建议的脚本:dotnetslackers.com/articles/aspnet/…
  • 你知道哪些控件触发了回发吗?它将必须检测控件回发并知道控件位于模式弹出窗口内。或者,不知道为什么我没有想到它,更好的是,使用更新面板。更新面板控件应该可以防止这个问题...
【解决方案2】:

对我来说,asp:Button 上的 UseSubmitBehavior="false" 成功了。

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 2011-11-08
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多