asp.net-mvc – 在ASP.NET MVC中保护NullReferenceExceptions的
UPDATE
问题是语法问题. @awrigley显示了在Razor中编写它的正确方法. 以下作品: @if(Model.Thing.Prop != null) { Html.RenderPartial("SomePartialView",Model.Thing.Prop); } 您需要将给定条形图的前1个Foo的详细信息显示为HTML表格.如果Foo为空,如何隐藏空表或显示“未找到”消息? 例如.我在下一行得到NullReferenceException,因为Model.Thing.Prop为null; @{Html.RenderPartial("SomePartialView",Model.Thing.Prop);} 故意为null,我的Repository返回null而不是空的Foo.但是这点稍微偏袒一点,即给定一个null Model.Thing.Prop,我不想调用Html.RenderPartial. 更新 @if(Model.Thing.Prop != null) { @{Html.RenderPartial("SomePartialView",Model.Thing.Prop);} } 这导致Visual Studio告诉我它期待一个;在第1栏第1栏也是如此;是第1行第1列的无效表达式(我猜这是由于MVC3的预发布状态),如果我在浏览器中点击页面,我会得到
突出显示@ Html.RenderPartial行. 我也试过了 @if(Model.Thing.Prop != null) { <text> @{Html.RenderPartial("SomePartialView",Model.Thing.Prop);} </text> } 但这会导致我的部分视图中出现NullReferenceException,这似乎不正确. Model.Thing绝对是一个有效的Bar和Model.Thing.Prop绝对是一个null Foo. 解决方法
我认为你不想用……
@if (Model.Thing.Prop != null) {Html.RenderPartial("SomePartialView",Model.Thing.Prop);} …因为你还想呈现部分视图的一部分? 不好了.已正确阅读您的帖子. 我不知道为什么上面的代码不适合你. 编辑: 请记住,在Razor中,@可以使用两种方式: >执行声明: @ { @ MyClass.MyStringProperty 注意,在情况2中,不需要终止半结肠. 1和2表示如果你有一个htmlhelper返回一个字符串以外的东西(例如,void),那么你必须按如下方式调用它: @{Html.MyHelperThatReturnsVoid;} 使用返回字符串或HtmlString或MvcHtmlString的HtmlHelper,您可以简单地写: @Html.MyHelperThatReturnsAString 有关详细信息,请参阅我提出的问题的已接受答案: Custom HtmlHelper that returns void problem (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp-classic – 经典的ASP页面是否会运行在Windows 7之后的
- asp.net-mvc – 测试ASP.NET MVC 2中的模型绑定
- ASP.NET或SQL Server 2008中的并发更新处理
- 如何在asp.net Web应用程序(C#)中制作倒数计时器?
- ASP.NET中的SMTP头注入?
- asp.net-mvc – 如何成功配置Common.Logging?
- ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证
- Asp.Net:在iis中调试网站
- asp.net-mvc – Visual studio – 预编译 – 无点
- asp.net-mvc – Knockout,CKEditor&Single Page App
- asp.net-mvc – 如何在MVC 5中使用用户身份中的角
- asp.net-mvc – ASP.NET MVC模型绑定外键关系
- asp.net-mvc – ASP.NET MVC:如何强制所有链接转
- asp.net – WCF中的405方法不允许错误
- asp.net-web-api – 从局域网中的其他计算机使用
- asp.net-mvc-3 – EF和存储库模式 – 在一个控制
- Scaffolding Template on Asp.Net Core Ra
- asp.net – Dotnetopenauth,从facebook范围检索电
- asp.net – 如何在页面加载时以“添加新”模式进
- asp.net-mvc – ASP.NET MVC 2中的空查询字符串参