我正在尝试在单个View中实现Create和List操作。我被建议使用ViewModel。我得到了object reference error
。另外一些关于如何实现这一目标的好例子也会有所帮助。
我的模特课
public class Employee
{
public int ID { get; set; }
[Required(ErrorMessage="Please enter name")]
public string Name { get; set; }
}
我的视图模型类
public class EmployeeVM
{
public Employee Employee { get; set; }
public List<Employee> Employees { get; set; }
}
我的控制器
[HttpPost]
public ActionResult Create(EmployeeVM emp, string Name)
{
if (ModelState.IsValid) //my modelstate is valid even when the value is empty string; it then gives an Object reference not set error
{
emp.Employee.Name = Name;
repository.SaveRole(emp);
return RedirectToAction("Index");
}
else
{
return View(emp);
}
}
我的观点
@model ERP.Domain.Entity.EmployeeVM
<body>
<div class="jumbotron">
@using (Html.BeginForm("Create", "MyController", FormMethod.Post))
{
@Html.ValidationSummary(true)
<label>
Name</label>
<input id="txtName" type="text" name="Name" class="btn btn-default" />
@Html.ValidationMessageFor(model => model.Employee.Name)
<input type="submit" value="Save" class="btn btn-primary" />
}
</div>
如果我想在同一个视图中同时使用Create和List,我会在StackOverflow中建议使用ViewModel方法吗?这是正确的方法吗?一些例子可能有所帮助。