2010-01-20 5 views
2

En faisant la validation dans mon classeur, je me demande s'il est nécessaire de vérifier la valeur de retour. Dans l'option 1 ci-dessous, y aura-t-il une différence dans les cas 1 et 2? Il ne semble pas possible que TryUpdateModel renvoie true, mais ModelState.IsValid est false.asp.net mvc: Valeur de retour TryUpdateModel ou ModelState.IsValid?

Option 1:

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

Option 2:

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

Répondre

11

La dernière ligne du code source TryUpdateModel est:

 return ModelState.IsValid; 

... qui répond à peu près votre question . :)

+0

En fait, je voudrais une réponse plus approfondie. Ai-je besoin d'utiliser 'TryUpdateModel' si j'utilise la liaison automagique dans ASP.NET MVC 2 ou est-ce quasiment obsolète sauf pour les cas de coin? –

+0

Vous posez une question sans rapport. Vous n'en avez pas besoin, cependant. –

Questions connexes