asp.net-mvc-3 - 是否应该尝试防止 MVC View 中的空引用异常/索引越界异常?

标签 asp.net-mvc-3 asp.net-mvc-2 razor

我想发表评论到 this question's接受的答案,“现在还没有 View 放弃代码吗?那么你要测试什么?”指出在我看来,只要你添加一个

<% if (Model.Thing == "abc") {} %>

@if (Model.Thing == "abc") {}

在您看来,存在爆炸的可能性,应该防范这种可能性。

关于我链接到的问题,我可以看到有人提出一个论点,即应该防止在代码隐藏中出现空引用异常的可能性,而不是用空检查来乱扔一个人的观点,但情况如何部分意见?在可能呈现局部 View 的多个位置而不是在 View 本身的一个位置添加多个空检查真的更好吗?

最佳答案

IMO,如果您期望值是 null、oob 等,您应该只在 View 中防止 null、index oob 等。

理想情况下,您应该对您的操作方法进行单元测试,以确保某些模型值不为空/在边界内等。当一个值可能为空时,您可能有充分的理由进行空检查在一个 View 中。否则就是无用的代码。

关于asp.net-mvc-3 - 是否应该尝试防止 MVC View 中的空引用异常/索引越界异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397767/

相关文章:

javascript - 如何使用 JQuery 设置其他字段 oninput 的属性?

jquery - 将 Knockout.js 与最新的 jQuery 文件和 ASP.NET MVC 结合使用

asp.net-mvc-3 - ViewBag、ViewData 和 TempData

asp.net-mvc - Asp.Net MVC2 RenderAction 更改页面 mime 类型?

asp.net - 停止标签生成器转义单引号 ASP.NET MVC 2

c# - 如何在 MVC 中指定 textarea 的行列?

javascript - 通过大量局部 View 动态更改文本

asp.net-mvc-3 - 从另一个文件指定布局会产生编译错误(ASP.NET MVC3/Razor)

c# - 在 ASP.NET MVC 3 中使用 HtmlHelper 在表单标签内嵌套多个标签和输入

asp.net - 增加 MVC Controller 操作的 maxRequestLength