2013-01-23 71 views
1

在Umbraco中,如果頁面上有剃刀宏,並且剃刀宏引發異常,頁面仍顯示,但它顯示「Error loading macro xyz.cshtml 「宏觀將會在哪裏。重定向到剃鬚刀宏上的自定義錯誤頁面錯誤

我想重定向到一個自定義/友好的錯誤頁面,只要發生這種情況,但我找不到任何有關如何操作的信息。可能嗎?

我試過像往常一樣設置<customErrors>標籤,但它不起作用。

回答

1

在每個剃鬚刀腳本,你可以圍繞你的代碼用try/catch語句,然後重定向,如果錯誤被捕獲:

@try 
{ 
    //macro code... 
} 
catch (Exception ex) 
{ 
    //possible code to log error... 

    //redirect to friendly error page: 
    Response.Redirect("~/path-to-error-page/"); 
} 

但是,而不是將用戶重定向,你也可以只捕獲錯誤並然後什麼都不做。這取決於你的需求。

+0

這可能會起作用,但我不想用try-catch塊來混淆我的宏。無論如何,感謝你的迴應 - 我可能會這樣做。 –

+0

查看[這個論壇帖子](http://our.umbraco.org/forum/developers/razor/25449-Hide-uncaught-exceptions-in-razor-macros)瞭解更多的建議。 –

+0

這是相關的[Umbraco問題](http://issues.umbraco.org/issue/U4-497)。 –

相關問題