2010-01-20 1 views
2

Выполнение проверки в моем вяжущем, мне интересно, нужно ли проверять возвращаемое значение. В Варианте 1 ниже, будет ли когда-либо разница в случае 1 и случае 2? Не представляется возможным, что TryUpdateModel вернет true, но ModelState.IsValid - false.asp.net mvc: TryUpdateModel возвращает значение или ModelState.IsValid?

Вариант 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 
    } 

ответ

11

Последняя строка TryUpdateModel исходного кода:

 return ModelState.IsValid; 

... который в значительной степени отвечает на ваш вопрос , :)

+0

На самом деле, мне нужен более тщательный ответ. Должен ли я использовать 'TryUpdateModel', если я использую автоматическое связывание в ASP.NET MVC 2 или он довольно устарел, за исключением случаев с угловым случаем? –

+0

Вы задаете вопрос, не связанный с ним. Но вам это не нужно. –