Как показать значение переменной исключения в окне предупреждения в asp.net с помощью C # - PullRequest
3 голосов
/ 14 октября 2010

У меня следующий код, но окно предупреждения не отображается.

try
{
    do something..          
}
catch(Exception ex)
{
    Response.Write("<script>alert('"+ex+"')</script>");
}

Если я использую этот код, появится окно предупреждения.

try
{
    do some thing
}
catch (Exception ex)
{           
    Response.Write("<script>alert(\"an error occur\")</script>");
}

Как отобразитьпеременная исключения в окне предупреждения?

Ответы [ 6 ]

6 голосов
/ 14 октября 2010

Если вы хотите показать трассировку стека:

Response.Write("<script>alert('"+ Server.HtmlEncode(ex.ToString()) + "')</script>");

или если вам нужно только сообщение

Response.Write("<script>alert('"+ Server.HtmlEncode(ex.Message) + "')</script>");
2 голосов
/ 14 октября 2010

Попробуйте что-то вроде

Response.Write("<script>alert('"+ex.Message+"')</script>"); 

Посмотрите на класс Класс исключения

1 голос
/ 25 июля 2014
 Dim message = New JavaScriptSerializer().Serialize(rs)
 Dim script = String.Format("alert({0});", message)
 ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "", Script, True)
0 голосов
/ 02 октября 2013

Это решило мою проблему:

  string jscriptCustInfo = "<script type='text/javascript' language='javascript'>";
  jscriptCustInfo = jscriptCustInfo + "alert('Dividend Posting Done, Batch No: "+lblBatch.Text+"');";

  jscriptCustInfo = jscriptCustInfo + "</script>";
  ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", jscriptCustInfo, false);
0 голосов
/ 14 октября 2010

Вы должны быть осторожны и правильно избегать создаваемой строки Javascript ... Представьте, что в сообщении Исключения есть одинарные кавычки ...

Необходимо экранировать одинарные кавычки (')(\')

Response.Write("<script>alert('"+ Server.HtmlEncode(ex.Message).Replace("'","\\'" ) + "')</script>");
0 голосов
/ 14 октября 2010

Пожалуйста, проверьте, используете ли вы панель обновления на этой странице. Иногда это может работать, если панель обновления есть.

...