3

バインダーで検証を行っているのですが、戻り値を確認する必要があるのではないかと思います。以下のオプション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 
  }
4

1 に答える 1

13

TryUpdateModelソース コードの最後の行は次のとおりです。

        return ModelState.IsValid;

...これはあなたの質問にほとんど答えます。:)

于 2010-01-20T17:20:29.160 に答える