Проблема с clientscript.registerstartupsc...
У меня есть следующий код в файле aspx:-
<form id="form1" runat="server"> <div> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> </div> </form>
В коде позади я пытаюсь запустить предупреждение javascript с помощью ClientScript.RegisterStartupScript.
Логика моей программы заключается в том, что я сначала создаю необработанное исключение в событии нажатия кнопки следующим образом:-
int l1 = int.Parse("Madhukar"); // This causes exception
а затем это исключение автоматически передается на уровень страницы, поскольку оно не обрабатывается и автоматически обрабатывается следующим методом обработчика ошибок уровня страницы:-
protected void Page_Error(object sender, EventArgs e)
В этом методе я обрабатываю это событие исключения с помощью
Exception ex = Server.GetLastError(); // This gets the latest exception in the program.
Я использую следующий код, чтобы получить сообщение об ошибке:-
string message = string.Format("At Page Level : Message: {0}\\n\\n", ex.Message); message += string.Format("StackTrace: {0}\\n\\n", ex.StackTrace.Replace(Environment.NewLine, string.Empty)); message += string.Format("Source: {0}\\n\\n", ex.Source.Replace(Environment.NewLine, string.Empty)); message += string.Format("TargetSite: {0}\\n\\n", ex.TargetSite.ToString().Replace (Environment.NewLine, string.Empty));
Затем я пытаюсь показать сообщение в предупреждающем сообщении javascript, используя следующий код:-
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"" + message + "\");", true);
Проблема в том, что он не показывает предупреждение javascript. Я даже попробовал простую :
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('hi msg from server');", true);
Это также не показывало всплывающее окно предупреждения.
Я также использовал следующий код:-
Response.Write(message); //This works Response.Write("<script type='text/javascript'>alert('" + message + "');</script>"); // This also works.
Они оба прекрасно работают и показывают предупреждение javascript и пишут на результирующую веб-страницу.
Окончательный код выглядит следующим образом:-
protected void Button1_Click(object sender, EventArgs e) { int l1 = int.Parse("Madhukar"); // This causes unhandled exception } protected void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); string message = string.Format("At Page Level : Message: {0}\\n\\n", ex.Message); message += string.Format("StackTrace: {0}\\n\\n", ex.StackTrace.Replace(Environment.NewLine, string.Empty)); message += string.Format("Source: {0}\\n\\n", ex.Source.Replace(Environment.NewLine, string.Empty)); message += string.Format("TargetSite: {0}\\n\\n", ex.TargetSite.ToString().Replace (Environment.NewLine, string.Empty)); ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"" + message + "\");", true); //Show the javascript pop up alert. }
Пожалуйста помочь.
Что я уже пробовал:
Я пытался :-
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('hi msg from server');", true); This also didn't show an alert popup.
Я тоже пытался
ClientScriptManager cs = Page.ClientScript; // Check to see if the startup script is already registered. if (!cs.IsStartupScriptRegistered(this.GetType(), "alert")) { cs.RegisterClientScriptBlock(this.GetType(), "alert", "alert('hi msg from server');", true); }
это тоже не работает.
Я тоже пытался :-
ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "", script, true);
Это тоже не работает
F-ES Sitecore
Как появляется страница при ошибке? Показывает ли он стандартную страницу ошибок или пользовательскую страницу ошибок?
Karthik_Mahalingam
вы используете панель обновления?