kid*_*man 10 asp.net-mvc mvc-editor-templates razor asp.net-mvc-3
假设我有一个LineItem(来自过度使用的购物车示例),我想使用EditorTemplate渲染它.
我很好地使用来自父视图(部分或其他)的@ Html.EditorFor(m => m.LineItems)渲染它,但令人困惑的是传递一些额外数据的最佳方法(比如具有数据的SelectList)从数据库进入)到模板.
显然,我不应该通过添加这些无关项目来污染LineItem模型(但是从视图的角度来看这是必需的.)
在尝试使用ViewBag/ViewData技巧之前,我试图看看是否有一种强类型的方法.
我尝试创建一个'LineItem'特定的视图模型来传递数据,但是它会破坏MVC生成的名称,并向集合中添加一个额外的层(因为我将viewmodel的IEnumerable <>传递给EditorFor( )调用,而不是实际LineItem的IEnumerable <>
另外,这是对EditorTemplate的错误使用吗?LineItem是否需要下拉列表,其中包含来自数据库表的选项对于EditorTemplate来说太多了?
请引导我走向MVC必杀技.在我等待答案的同时,我会尝试其他想法!
澄清一下:我考虑使用EditorTemplate的原因是因为它为我提供了自动收集处理.否则整个[id]业务变得太粘.
归档时间: |
|
查看次数: |
11554 次 |
最近记录: |