4

ModelState如果显示字段无效,我想清除模型中字段的提交值。

这是我到目前为止所取得的成果,但无法在模型中绑定价值的关键。有什么建议么?

if (!ModelState.IsValid)
{
  foreach (string key in ModelState.Keys)
  {
    if (!ModelState.IsValidField(key))
    {
       // This field is not valid so set to empty string in model
       // Something like....
       model[key] = "";
    }
  }
}
4

1 回答 1

11

您应该返回与收到的模型相同的视图,并将您的代码更改为以下内容:

if (!this.ModelState.IsValidField(key))
{
    var emptyValue = new ValueProviderResult(
        string.Empty,
        string.Empty,
        CultureInfo.CurrentCulture);

    this.ModelState.SetModelValue(
        key,
        emptyValue);
}
于 2011-10-18T11:55:17.800 回答