在Razor允许HiddenFor持有空字符串

时间:2015-11-11 17:29:43

标签: c# asp.net-mvc razor

我有一个像这样定义的ViewModel:

public class ProfileSnapshotViewModel
{
    public Guid ProfileSnapshotId { get; set; }
    [Required(AllowEmptyStrings = true)]
    public string Salutation { get; set; }
    //...
    public bool IsActive { get; set; }
}

我的MVC设置如下:

<td class="Cell">
    @Html.HiddenFor(model => model.ProfileSnapshotId)
    @Html.HiddenFor(model => model.IsActive)
    @Html.HiddenFor(model => model.Salutation)
    //...

当我设置模型时,我将其设置为:

 return PartialView("_additionalreviewerrow",
            new ProfileSnapshotViewModel
            {
                IsActive = true,
                Salutation = ""
            });

但是,我的ModelState.IsValid在提交时仍然是假的,并说“需要称呼”。

我该怎么做才能确保HiddenFor持有空字符串,并且验证不会抱怨?

(这是更大块代码的一部分,所以如果您认为其他因素可能会影响它,请发表评论,我会尝试添加它。)

0 个答案:

没有答案