在ASP.net MVC 4 Web应用程序中,我有5个模型类,它们都具有相同的属性,如string ManufacturerName
。我想在这些模型的创建/编辑模板中从数据库中呈现制造商的下拉列表(列出数据从控制器传递到使用ViewBag
进行查看)。这是可能做到这一点,但我在所有的5个编辑模板基于属性名称的共享编辑器模板?
@Html.DropDownList("ManufacturerName", new SelectList(ViewBag.ManufacturerList))
重复下拉代码,我希望有一些方法在编辑模板只写上面的下拉代码一度被称为“Manufacturer.cshtml “作为一个局部视图,并能够从模型模板调用它像这样
@Html.EditorForModel(model => model.ManufacturerName)
我知道上面一行通常会调用编辑模板string
因为这是的ManufacturerName
的类型,但有没有办法改变它匹配属性名称呢?
这很好。我不在乎我是否使用EditorFor或EditorForModel或部分视图。 – sgarg
ViewBag是否会从调用视图传递到编辑器模板? – sgarg
'ViewBag'可以在'ViewContext'的整个生命周期中使用。可以是布局,部分,EditorTemplate或常规视图。那么你应该没问题。 – haim770