我在执行的aspx文件中有一些内联代码:
<dd><%= encode(Listing.Address.Line1) %> </dd>
Run Code Online (Sandbox Code Playgroud)
问题是,在某些情况下,Listing对象将为null,因此对诸如Address之类的属性的引用将引发异常.我该如何处理该异常?我基本上想要忽略它:抓住它,然后继续定期执行/渲染页面.
做空检查.测试异常的条件几乎总是更好,您可能会发生异常而不是处理它.运行时必须做更多的工作来抛出和处理异常,而不是仅仅测试它并相应地处理它.
<%= encode(Listing != null && Listing.Address != null ? Listing.Address.Line1 : string.Empty) %>
Run Code Online (Sandbox Code Playgroud)
为了以防万一,请务必查看地址.短路是你的朋友,订单在&& ing中很重要.
如果没有看到更广泛的图片,我建议您的viewmodel(如果有的话)有一个方法可以自动执行此操作.如果您拥有它,那么这种东西在视图中会变得难看.
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |