【问题标题】:Model validation complex types in mvcmvc 中的模型验证复杂类型
【发布时间】:2014-03-11 10:04:43
【问题描述】:

我有一个 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; }


}

如何在表单提交时保留此用户信息?我尝试将对象添加到隐藏字段,但没有奏效。

提前致谢。

【问题讨论】:

    标签: asp.net-mvc validation


    【解决方案1】:

    你能提供你的html文件吗?

    如果没有该文件,我假设您没有将 UserInfo 属性放入表单中。为了使值与表单一起发布,它需要在表单中。为此,请在表单中为每个 UserInfo 属性放置隐藏字段。

    剃须刀:

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

    我建议考虑将 UserInfo 数据放入 cookie。

    【讨论】:

    • 谢谢,确实是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多