可以說我有一個LineItem(來自過度使用的購物車示例),我想使用EditorTemplate來渲染它。傳遞額外的數據給EditorTemplate
我完全可以從父視圖(部分或其他)使用@ Html.EditorFor(m => m.LineItems)來渲染它,但是混淆是最好的方法來傳遞一些額外的數據從數據庫進入數據的SelectList)到模板。
顯然,我不應該通過將這些多餘的物品污染的LineItem模型(其然而從視圖的角度來看需要。)
我想看看是否有訴諸之前這樣做的強類型的方式ViewBag/ViewData技巧。
我已經嘗試創建一個'LineItem'特定的視圖模型來傳遞數據,但它破壞了MVC生成的名稱和廣告一個額外的圖層集合(因爲我通過IEnumerable <> viewmodel到EditorFor()調用,而不是IEnumerable <>的實際LineItem)
此外,這是一個EditorTemplate的錯誤使用? LineItem是否需要下拉菜單,EditorTemplate的選項來自數據庫表格太多?
請引導我走向MVC涅v。當我等待答案時,我會嘗試其他想法!
澄清:我使用EditorTemplate考慮的原因是因爲它使我有自動收集處理。否則整個[id]業務變得太粘。
你不能爲此使用ChildAction嗎? – alexn
你從那以後解決過這個問題嗎? –
兒童行爲不是創建輸入UI的最佳方式。我通過使用Steven Sanderson的方法(http://blog.stevensanderson.com/)的變體來呈現部分視圖列表來解決此問題。 – kidoman