我想用2个下拉列表制作局部视图。 DDL数据必须从db生成。我是MVC的新手。制作此部分视图的正确方法是什么?
由于
答案 0 :(得分:4)
(假设您使用的是Visual Studio)
在项目的Views
文件夹下找到名为“Shared”的文件夹(如果不存在,则创建它)。右键单击此文件夹,选择“添加 - >查看”。在“添加视图”对话框中,指定视图名称,模型类型(如果需要),并设置复选框“创建为部分视图”。模型类型应该是具有两个List<string>
元素的新模型类。
您需要使用此视图的任何地方,包括标记
@Html.RenderPartial("YourPartialViewName", YourModel);
其中YourModel与部分视图声明中指定的模型具有相同的类型。
答案 1 :(得分:2)
根据我的经验,最好创建操作并调用RenderAction()
传递相关参数而不是使用RenderPartial()
。原因是您需要将完全填充的模型传递给RenderPartial
,这意味着您必须复制代码以在使用此“部分视图”的所有控制器中填充此模型。
我发现创建一个可以接收大量参数(即对象的id)的单独操作并执行填充模型所需的所有步骤(即从数据库加载对象)更加清晰。您可以使用ChildActionOnly
属性标记该新操作,以便无法直接调用。
答案 2 :(得分:1)
另一件值得查看imho的事情是使用EditorTemplates。
为了对Partials与EditorTemplates进行比较,何时使用等等,请查看here。