嘿,有人可以帮我提交这份表格吗?这是我制作的ViewModel。这是我尝试拿起MVC的第三天,所以我还是新手。
public class EmployeeAllData
{
public Employees Employees { get; set; }
public PermissionModel PermissionModel { get; set; }
}
这是表单提交的控制器。我从许可表开始,我没有运气。它一直给我这个错误:NullReferenceException未被用户代码处理。我试过硬编码值,它更新了权限表就好了。我无法找出为什么我没有从员工那里得到价值。
[HttpPost]
public ActionResult Create(EmployeeAllData viewModel)
{
var permission = new PermissionModel
{
EmployeesId = Convert.ToByte(viewModel.Employees.Id),
TimeStamp = DateTime.Now,
PermissionVal = viewModel.Employees.Permissions
};
_context.PermissionModels.Add(permission);
_context.SaveChanges();
return RedirectToAction("EmployeeList", "Employee");
}
有什么想法吗?
更新 我认为我的问题出在我的ViewModel上。下面的代码运行正常,并在数据库中创建一个新员工。
public ActionResult Create(Employees employees)
{
_context.Employeeses.Add(employees);
_context.SaveChanges();
return RedirectToAction("EmployeeList", "Employee");
}
答案 0 :(得分:0)
我不需要使用viewModel。这是我现在可以使用的最终代码。
[HttpPost]
public ActionResult Create(Employees employees)
{
_context.Employeeses.Add(employees);
_context.SaveChanges();
var permission = new PermissionModel()
{
EmployeesId = Convert.ToByte(employees.Id),
TimeStamp = DateTime.Now,
PermissionVal = employees.Permissions
};
_context.PermissionModels.Add(permission);
_context.SaveChanges();
return RedirectToAction("EmployeeList", "Employee");
}