尝试捕捉视图不好的做法?

Tra*_*s J 8 view try-catch razor asp.net-mvc-3

在MVC3应用程序中,@{ }.cshtml视图中使用razor块内的try catch块被认为是不好的做法吗?

SLa*_*aks 13

非常如此.

观点不应包含任何真实的逻辑; 任何可能引发异常的内容都属于控制器.

  • 像这样的毯子声明永远不准确.你是说在视图中放置任何代码是不好的形式?那为什么Razor存在?如果您在视图中有代码,则肯定会出现需要处理异常(例如外部文件不可用)的情况. (23认同)
  • 如果它是共享的局部视图并且没有控制器,该怎么办? (2认同)

小智 5

@{
try
{
    <td>
        @((TradeType)Enum.Parse(typeof(TradeType), item.AppCode)).GetDescription();
    </td>
}
catch
{
    <td>@item.AppCode
    </td>
}
}
Run Code Online (Sandbox Code Playgroud)

  • 并不是对这个问题的真正答案:问题是这是否是一种好的做法,而不是如何做到的。 (3认同)