如果你看一下創建和編輯的晚餐,然後的的NerdDinner比如你看到他們使用的部分(ViewUserControl或ASCX)DinnerForm把創建和編輯的功能晚餐納入一個文件,因爲它是必不可少的,他們使用它使用RenderPartial(「DinnerForm」)。編輯,然後在ASP.NET MVC創建使用視圖EditCreate.ascx部分
這種做法似乎對我很好,但我碰到的,你必須要產生額外的路由值或HTML屬性添加到表單標籤的問題。
此自動拾取當前動作和控制器:
<% using (Html.BeginForm()) { %>
然而,如果使用另一種BeginForm()過載,其允許在加密類型或任何其他屬性傳遞我必須做這樣的:
<% using ("Create", "Section", new { modal = true }, FormMethod.Post, new { enctype = "multipart/form-data" }))
正如您所看到的,我們失去了自動檢測我們調用RenderPartial(「OurCreateEditFormPartial」)的視圖的能力。我們無法在其中編寫硬編碼值,因爲在編輯視圖中,此回發將失敗或不會回發到正確的控制器操作。
在這種情況下該怎麼辦?
這絕對不會幫助,但它看起來有點誇張。問題是,每隔一天我碰上,我必須寫一些自定義的助手或擴展,以實現它應當已經在那裏,但顯然ASP.NET MVC設計錯過了它的一些基本功能的另一個特殊情況。我想知道這會繼續發生在我身上多久。 ;)MVC的「助手」你看到周圍的網或浮動的 – mare 2010-03-22 01:33:05
90%,因此僅僅是語義糖,只有縮短冗長的否則調用。 MVC團隊在這裏「錯過」了什麼。大多數情況下,你需要的是在你面前,只需要知道在哪裏看。 – jfar 2010-03-22 02:22:57
我同意jfar ... 90%的時間它做我希望做的事情,但我喜歡這樣一個事實,即我可以無縫地添加我不需要的功能,以防止它在上面,以防萬一。 – anthonyv 2010-03-22 02:51:30