asp.net mvc:TryUpdateModel返回值还是ModelState.IsValid?

时间:2010-01-20 17:16:02

标签: asp.net-mvc modelbinders

在我的活页夹中进行验证,我想知道是否需要检查返回值。在下面的选项1中,案例1和案例2是否会有所不同? TryUpdateModel似乎不会返回true,但ModelState.IsValid为false。

选项1:

  if (TryUpdateModel(editItem, new string[] { "Field" }))
  {
    if (ModelState.IsValid)
    {
    } else {
    // Invalid model case 1
  }
  } else {
    // Invalid model case 2
  }

选项2:

  TryUpdateModel(editItem, new string[] { "Field" }))
  if (ModelState.IsValid)
  {
  } else {
    // only one invalid model case 
  }

1 个答案:

答案 0 :(得分:12)

TryUpdateModel源代码的最后一行是:

        return ModelState.IsValid;

......几乎可以回答你的问题。 :)