我使用了一些服务器端验证,如果出现任何问题,我会使用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);
}
}
}
我正在使用此功能
答案 0 :(得分:5)
由于您使用的是Javascript alert()函数,因此您无法控制浏览器如何处理它。每个浏览器看起来略有不同但是,您可以预期它将是一个带有您内容的模态弹出窗口,以及一个“确定”按钮。除此之外,你无法控制。
如果你想要不同的东西,你将不得不使用更复杂的JavaScript;也许使用jQuery插件来准确显示你想要的信息,或覆盖alert()函数。