2009-12-21 71 views
0

我一直在向我的應用程序添加錯誤和業務驗證,並且當我使用強類型化到一個模型的視圖進行測試時,讓我們說的地點,我得到驗證總結以及驗證消息爲每個領域沒有通過,加上我的CSS突出顯示適當的領域按預期...ASP.Net MVC錯誤驗證 - 將自定義視圖模型傳遞給視圖時如何顯示驗證消息

...當我嘗試這與一個查看遭到強類型的自定義視圖模型,假設我通過它的位置 - 這樣用戶就可以進入一個新的,以及

IEnumerable<Location> locations 

,所以它會列出OU t新位置表單下的所有現有位置。當我這樣做時,我會得到驗證摘要,但是不會顯示每個字段的消息,也不會將css應用於*並突出顯示每個不正確的字段。

我正在使用Linq to SQL,所以我已經將所有的驗證添加爲部分類,因此在這種情況下,所有驗證都來自部分類位置,對於我的理解,這將用設計器文件編譯linq到sql創建並添加我的業務驗證。發生這個問題是因爲我沒有傳遞MyApp.Models.Location視圖,而是傳遞它MyApp.Models.MyCustomViewModel?如果是這樣,我最好的方法是什麼,這樣我就可以只使用一種形式來創建和列表?

回答

0

我能得到這個工作 - 我在POST方法改變返回值返回

return View(new MyCustomViewModel(location) { }); 

,而不是

return RedirectToAction(new MyCustomViewModel(location) { }); 

希望這會有所幫助,如果任何人在同樣的問題絆倒我做過 - 這是我對View的工作方式與RedirectToAction不同的誤解。