[.NET]Try Catch跳出提示視窗應用(與javascript併用)

.NET C# Try Catch跳出提示視窗應用(與javascript併用)

在網站開發上常常會用到javascript的alert達到跳出提示視窗的功能,
本次範例將抓取到的Exception訊息顯示於前端給操作者。

需注意的是,ShowMessage是使用ScriptManager元件的方式,
若頁面沒有ScriptManager則改成ClientScript。

.cs內容(1)

try {
    //執行程式
} catch (Exception ex) {
    //建議寫入LOG 
    //WriteLog(ex.ToString());
    //Rollback
    ShowMessage("失敗 " + GetErrorMsg(this, ex));
} finally {
    //物件Dispose或Close
}

.cs內容(2)

//*********************************************************************
// ShowMessage() 函式
// 傳入欲顯示之字串,以對話視窗顯示
//*********************************************************************
public void ShowMessage(string message) {
	message = message.Replace("'", "").Replace(@"""","") ;
	string JavaScript = null;
	JavaScript = @"<SCRIPT Language='JavaScript'>window.alert('" + message + "'); </SCRIPT>";
	ScriptManager.RegisterStartupScript(this, this.GetType(), "AlertMsg", JavaScript, false);
}

/// <summary>
/// 取得簡短的Exception訊息
/// </summary>
public static string GetErrorMsg(Page p, Exception ex) {
	string errmsg = string.Empty;
	if (ex.InnerException != null) {
		errmsg = ex.InnerException.Message;
	} else if (errmsg.Length == 0) {
		errmsg = p.Server.HtmlDecode(ex.Message.Replace("\r\n", ""));
	}
	return errmsg;
}