通过静态方法显示用户控件

时间:2013-08-23 21:40:22

标签: c# asp.net ajax

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

目前,我在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文件中调用任何东西。 这仍然是一个粗略的想法,所以如果需要更多细节,请告诉我。

1 个答案:

答案 0 :(得分:0)

您可以从代码隐藏中显示ModalPopupExtender。因此,您需要一个invisible trigger按钮。

mpAlert.Show();

因此,将TargetControlID的{​​{1}}设置为隐藏按钮:

ModalPopupExtender