I'm trying to show an alert box before redirecting,but it's not working.The alert box only works if the redirection is not done.
i modified the popular Alert.Show("string") class from Mads Kristensen as below....
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("'", "\\'");
//replacing script string with strSCript
//string script = "<script type=\"text/javascript\">alert('" + cleanMessage + "');</script>";
//added this below
string strScript = "<script type=\"text/javascript\" language=\"javascript\">";
strScript += "alert('" + cleanMessage + "');";
strScript += "window.location.href='http://localhost/Gadgeteer/IncToH/IncToH.zip';";
strScript += "</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", strScript);
}
}
}
//calling from code behind
Alert.Show("message");
You probably have something malformed in the alert function and that is failing, but the redirect is not. Please review what is rendered to the browser and consider improving your alert message. If the messages are dynamic, please be careful to avoid XSS.
精彩评论