1

try-catchブロックがあります:

try{
//stuff here
}catch(Exception x){
    tran.Rollback();
    Response.Write("<script>alert('Error details: " + x + "');</script>");
    Response.Write("<script>alert('Error');</script>");
}

「エラー」メッセージはポップアップ表示されますが、「エラーの詳細」はポップアップ表示されません。私は何が欠けていますか?x.ToString()、x.Message...何も...を試しました

4

3 に答える 3

2

おそらく、そのスクリプトに入力する文字列をシリアル化する必要があります。

try 
{

}
catch (Exception ex)
{
    JavaScriptSerializer ser = new JavaScriptSerializer();
    String jsSafeString = ser.Serialize(ex.Message);
    // use this string in your script.
}
于 2012-12-08T16:46:12.120 に答える
0

メッセージをページに印刷するだけの場合は、例外クラスのMessageプロパティを取得するだけです。

try{
//stuff here
}catch(Exception x){
tran.Rollback();
Response.Write("<script>alert('Error details: " + x.Message + "');</script>");
Response.Write("<script>alert('Error');</script>");

}

于 2012-12-08T16:00:04.790 に答える
0

これを試して

cleanMessageあなたexception stringです。

string script = string.Format("alert('{0}');", cleanMessage);
if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert")) 
{
    page.ClientScript.RegisterClientScriptBlock(page.GetType(), "alert", script, true /* addScriptTags */);
}
于 2012-12-08T17:18:30.153 に答える