模型结构
UserModel.cs
public class PatientViewModel
{
public int? inPatientId { get; set; }
public string stFirstName { get; set; }
}
TaskModel.cs
public class TaskViewModel: PatientViewModel
{
public int? inTaskId { get; set; }
public int? inPatientid { get; set; }
public string stName {get;set;}
}
UserTask.cshtml
@model Web.Areas.Tasks.Models.TaskViewModel
UserController.cs
[HttpPost]
public ActionResult saveTask(TaskViewModel loTaskViewModel)
{
return View("~/Areas/Tasks/Views/Tasks/UserTask.cshtml", loTaskViewModel);
}
在将另一个模型类继承到主模型类时,无法发布此表单获取错误500 (Internal Server Error)
。所以当我从TaskModel.cs类文件中删除这段代码: PatientViewModel
时,表单就会成功发布。
但我希望将该模型继承到主模型并发布表单。
提前致谢。
答案 0 :(得分:0)
得到了解决方案。问题出在模型属性声明 'inPatientId' & 'inPatientid'
中,它在模型类中都是相同的,但在不同情况下都是相同的。
将此更改为
UserModel.cs
public class PatientViewModel
{
public int? inPatientId { get; set; }
public string stFirstName { get; set; }
}
TaskModel.cs
public class TaskViewModel: PatientViewModel
{
public int? inTaskId { get; set; }
public int? inPatientid { get; set; }
public string stName {get;set;}
}
要
UserModel.cs
public class PatientViewModel
{
public int? inPatientId { get; set; }
public string stFirstName { get; set; }
}
TaskModel.cs
public class TaskViewModel: PatientViewModel
{
public int? inTaskId { get; set; }
public int? inTaskPatientId { get; set; }
public string stName {get;set;}
}