2014-03-05 82 views
0

我有一個mvc視圖,其中包含模型中的模型我有一個用戶信息對象,其中包含有關當前用戶和表單中使用的其他一些屬性的數據。mvc中的模型驗證複雜類型

當我提交表單時,簡單類型映射正確,驗證工作正常,但複雜類型設置爲null,因此如果驗證失敗,並且我再次顯示該視圖,那麼userinformation對象爲null並且數據爲沒有顯示,即使我不使用它作爲表格的一部分。

public class AssessorsViewModel 
{ 
    public UserInfo UserInformation { get; set; } 

    [Required(ErrorMessage = "Please select an assessment provider")] 
    [Display(Name = "Assessor Provider Name")] 
    public string Assessor { get; set; } 

    [Required(ErrorMessage = "Please select the type of assessment")] 
    [Display(Name = "Assessment Type")] 
    public byte AssessmentType { get; set; } 


} 

如何在表單提交中保留此用戶信息?我試圖將該對象添加到隱藏的字段,但沒有奏效。

在此先感謝。

回答

0

你能提供你的html文件嗎?

沒有這個文件我假設你沒有把UserInfo屬性放在窗體中。爲了將值與表單一起發佈,它需要在表單中。爲此,請在每個UserInfo屬性的表單中放置隱藏字段。

剃刀:

@Html.HiddenFor(m => m.UserId) 

我建議考慮將用戶信息數據到一個cookie。

+0

謝謝,事實確實如此。 – franklores