我有一个对象,说雇员如下:
Employee() {
int id;
string name;
}
在我看来,
我目前正在做
<input type="text" name="employeeName" id="employeeName" readonly="true" value="@Model.Employee.name"/>
但是,在某些情况下,Employee值将为null,这将给出一个错误,null引用错误。我是否应该进行内联检查以返回空字符串,如果它为空或有更好的方法?
在这种情况下,@HTML.TextboxFor()
方法会更好吗?
答案 0 :(得分:4)
使用Html.TextBoxFor
会处理此问题,是的:
@Html.TextBoxFor(i => i.Employee.Name)
这不会导致null问题。您也可以使用您的方法进行空检查,因此您的假设是正确的:
<input type="text" name="employeeName" id="employeeName" readonly="true"
value="@(Model.Employee != null ? Model.Employee.name : "")"/>
这是因为您直接使用对象,而TextBoxFor
评估表达式树并适当地处理空值。