1

我一直在研究这个,但到目前为止还没有找到任何东西。

目前,我在我的 ASP 页面上使用了一个 Javascript 警告框:

public static class Alert
{
    public static void Show(string message)
    {
        string script = "<script type=\"text/javascript\">alert('" + message + "');</script>";
        Page page = HttpContext.Current.CurrentHandler as Page;

        if (!page.ClientScript.IsStartupScriptRegistered("alert"))
        {
            page.ClientScript.RegisterStartupScript(typeof(Alert), "alert", script);
        }
    }
} 

我可以通过以下代码从后面的代码中调用它:Alert.Show("Text");

我的计划是利用 AjaxControlToolkit 的 ModalPopupExtender 替换 Javascript 警报。我正在创建一个看起来像这样的用户控件:

            <ajax:ModalPopupExtender ID="mpAlert" runat="server" PopupControlID="" 
                TargetControlID="btnExport"  OkControlID="btnOK">
            </ajax:ModalPopupExtender>
            <asp:Panel ID="pnlSteps" runat="server" BackColor="#C5D9FC"  Width="10%"
            BorderColor="#093E9A" BorderStyle="Double" BorderWidth="5px"
            style="border-radius: 10px; padding: 5px;">
                                <div>
                <asp:Literal ID="lSteps" runat="server" />
                </div>
                <div>
                <input id="btnOK" type="button" value="OK" />
                </div>
            </asp:Panel>

我想知道是否有一种方法可以创建一个静态方法来从代码隐藏中显示它,类似于我使用 Javascript 警报的方式。我希望能够将其包装在一个类中,这样我就可以调用 AjaxAlert.Show(),而不必调用 aspx 文件中的任何内容。这仍然是一个粗略的想法,所以如果需要更多细节,请告诉我。

4

1 回答 1

0

您可以显示ModalPopupExtender来自代码隐藏。因此,您需要一个不可见的触发按钮。

mpAlert.Show();

所以将 的 设置TargetControlIDModalPopupExtender隐藏按钮:

<asp:Button ID="Hid_ShowDialog" Style="display: none" runat="server" />
于 2013-08-23T21:56:56.580 回答