Asp.net mvc 如果ModelState表示字段无效,则清除字段值

Asp.net mvc 如果ModelState表示字段无效,则清除字段值,asp.net-mvc,model-view-controller,modelstate,Asp.net Mvc,Model View Controller,Modelstate,如果ModelState显示某个字段无效,我想清除该字段在模型中提交的值 到目前为止,我已经做到了这一点,但无法在模型中确定价值的关键。有什么建议吗 if (!ModelState.IsValid) { foreach (string key in ModelState.Keys) { if (!ModelState.IsValidField(key)) { // This field is not valid so set to empty string

如果
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] = "";
    }
  }
}

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

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

    this.ModelState.SetModelValue(
        key,
        emptyValue);
}

我知道这是个老问题。但作为这个问题的扩展-->如果我不希望我的模型包含无效值,我们如何访问具有更新值的模型。