2009-12-10 19 views
4

最新的MVC版本包含一些類型安全的HTML輔助擴展方法,例如,CheckBoxFor()和LabelFor()沒有人知道,如果有(爲什麼他們還沒有實現一個CheckBoxFor一個特別的原因)?.Net MVC中爲什麼沒有Html.CheckBoxFor()方法?

+0

而且我也courious爲什麼這裏沒有ModelState.AddModelErrorFor(表達,味精)方法添加一些高級別驗證錯誤的控制器模型狀態。 – PanJanek

回答

2

CheckBoxFor()的時間測試版還沒有結束。它應該在下一個預覽版中可用。至於AddModelErrorFor()重載,從來沒有任何需要它。錯誤由綁定器和驗證器提供,它們使用字符串而不是表達式。如果您可以提供一種使用表達式而不是簡單地使用字符串的好處,我們可以爲此請求打開一個工作項目。

+0

嗯,我不確定,但是在控制器動作中爲模型狀態添加一些錯誤有時會很方便,並且使用AddModelErrorFor()會比使用「魔術串」更好。但是,如果我理解正確,最佳實踐是處理驗證器和綁定器中的所有模型狀態更改? – PanJanek

+0

如果您願意,您可以在控制器操作中進行模型狀態更改;這沒有什麼內在的錯誤。但是,由於在控制器操作中,您已經失去了關於模型綁定的一些上下文,所以通常不能從表達式返回到與該表達式等效的字符串。例如,應該將foo => foo.Bar翻譯爲「Bar」或「foo.Bar」?這可能會很快變得模糊不清。 – Levi

相關問題