2017-05-29 112 views
0

模型結構表單提交問題

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

得到了解決方案。問題出現在Model屬性聲明中'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;} 
} 

TO

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;} 
}