我有一个像这样定义的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持有空字符串,并且验证不会抱怨?
(这是更大块代码的一部分,所以如果您认为其他因素可能会影响它,请发表评论,我会尝试添加它。)