2013-01-23 74 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)。 –

相关问题