例如,我将展示的所有代码。我有视图模型
public class ViewModel
{
public User SomeUser { get; set; }
public ViewModel()
{
}
public ViewModel(int id)
{
SomeUser = someservice.getUserById(id);
}
}
我有控制器
public partial class SomeController
{
public ActionResult Edit(int id)
{
var model = new ViewModel(id);
return View("Documents/Edit", model);
}
[HttpPost]
public ActionResult Edit(ViewModelmodel model)
{
if (ModelState.IsValid)
{
TempData["Save"] = true;
return RedirectToAction("Edit", new { id = model.Id });
}
return View("someview", model);
}
}
在视图中我有形式并且在视图中我显示
<b>Model.SomeUser.Name</b>
当我去 SomeController/Edit/3.In viemodel someUser 属性在构造函数中初始化。但是当我回发我的 viewmodel 初始化构造函数时没有参数并且如果模型状态无效,someUser 属性为空。所以我得到空引用异常。处理这种情况的最佳方法是什么?