如何在 MVC 中显示和检查 Null 值?

Sam*_*IAm 0 c# asp.net-mvc razor

我有一个对象,比如说 Employee ,内容如下:

 Employee() {
    int id;
    string name;
 }
Run Code Online (Sandbox Code Playgroud)

在我看来,

我目前做

<input type="text" name="employeeName" id="employeeName" readonly="true" value="@Model.Employee.name"/>
Run Code Online (Sandbox Code Playgroud)

但是,在某些情况下 Employee 值将为空,这会给我一个错误,空引用错误。如果它为空,我应该进行内联检查以返回空字符串还是有更好的方法?

@HTML.TextboxFor()在这种情况下,该方法会更好吗?

Bri*_*ins 5

使用Html.TextBoxFor可以解决这个问题,是的:

@Html.TextBoxFor(i => i.Employee.Name)
Run Code Online (Sandbox Code Playgroud)

这不会导致空问题。您还可以将您的方法与空检查一起使用,因此您的假设是正确的:

<input type="text" name="employeeName" id="employeeName" readonly="true" 
  value="@(Model.Employee != null ? Model.Employee.name : "")"/>
Run Code Online (Sandbox Code Playgroud)

这是因为您直接使用对象,而TextBoxFor评估表达式树并适当处理空值。