如何在asp.net MVC 3中制作可重用的部分视图

时间:2012-02-22 05:03:52

标签: asp.net-mvc-3 model-view-controller partial-views

我想用2个下拉列表制作局部视图。 DDL数据必须从db生成。我是MVC的新手。制作此部分视图的正确方法是什么?

由于

3 个答案:

答案 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