我遇到了很多我希望展示的东西
@ev.Event.Instructor.Name
Run Code Online (Sandbox Code Playgroud)
但是讲师属性可以为null.在这些情况下,"对象引用未设置为对象的实例".错误被抛出,但我想忽略它并且没有任何返回..
是否有更好的方法来处理这个问题,而不是在整个地方创建大量的三元表达式来检查null?
等效的php表达式将是
@$ev.Event.Instructor.Name
Run Code Online (Sandbox Code Playgroud)
我一直在将一些webforms视图转换为MVC,等效的Eval语句将忽略空引用错误.
澄清一下:@ev属性来自linq查询,也有我所拥有的情况
@ev.mainContact.FirstName @ev.mainContact.LastName
@ev.mainContact.Company.Name
Run Code Online (Sandbox Code Playgroud)
不仅mainContact可以为null,而mainContact的公司也可以为null.使用三元检查null来选择每个属性似乎是一个同样糟糕的解决方案.
另一种我认为有争议的令人讨厌的方法是:
@{try{@ev.Event.Instructor.Name}catch{}}
Run Code Online (Sandbox Code Playgroud)
我决定使用这种方法,而不是在带有三元表达式的 select all 中添加 18 个左右的额外属性。