显示javascript警报消息时,窗口背景变为灰色

时间:2011-11-30 09:39:03

标签: javascript asp.net

我使用了一些服务器端验证,如果出现任何问题,我会使用javascript显示弹出消息

  page.ClientScript.RegisterClientScriptBlock

但是当我的消息显示时,窗口的背景变为灰色。

任何人都可以帮我摆脱这个灰色窗口

       public static class Alert
{

/// <summary>
/// Shows a client-side JavaScript alert in the browser.
/// </summary>
/// <param name="message">The message to appear in the alert.</param>
public static void Show(string message)
{
    // Cleans the message to allow single quotation marks
    string cleanMessage = message.Replace("'", "\\'");
    string script = "<script type=\"text/javascript\">alert('" + cleanMessage + "');</script>";

    // Gets the executing web page
    Page page = HttpContext.Current.CurrentHandler as Page;

    // Checks if the handler is a Page and that the script isn't allready on the Page
    if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
    {
        page.ClientScript.RegisterClientScriptBlock(typeof(Alert), "alert", script);
    }
}

}

我正在使用此功能

1 个答案:

答案 0 :(得分:5)

由于您使用的是Javascript alert()函数,因此您无法控制浏览器如何处理它。每个浏览器看起来略有不同但是,您可以预期它将是一个带有您内容的模态弹出窗口,以及一个“确定”按钮。除此之外,你无法控制。

如果你想要不同的东西,你将不得不使用更复杂的JavaScript;也许使用jQuery插件来准确显示你想要的信息,或覆盖alert()函数。