2010-01-20 57 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

其實,我想要一個更徹底的答案。如果我在ASP.NET MVC 2中使用automagic綁定,是否需要使用'TryUpdateModel'?或者除了角落案例之外,它是否已經過時了? – 2010-09-16 14:59:53

+0

你在問一個無關的問題。雖然你不需要它。 – 2010-09-16 17:00:35

相關問題