Asp.net mvc 填充共享视图的模型,将共享视图嵌入到另一个视图中

Asp.net mvc 填充共享视图的模型,将共享视图嵌入到另一个视图中,asp.net-mvc,Asp.net Mvc,我试图嵌入一个小的视图片段,当我将它嵌入到一个控制器中并将其传递给这样一个视图时,它会逐步遍历一个模型片段,这个模型片段工作得很好 控制器: 返回视图(_entities.formTemplate.ToList()) 视图: 问题是,我希望能够将这个特定的选择框嵌入到不仅仅是这个单一操作/视图中,从我一直在做的谷歌搜索来看,它似乎应该进入一个共享视图,但我不清楚如何从控制器在该视图中填充模型?(或者我完全不知道分享观点的目的?) 在我习惯使用的另一个MVC框架中,有一个过滤器的概念,您可以在任

我试图嵌入一个小的视图片段,当我将它嵌入到一个控制器中并将其传递给这样一个视图时,它会逐步遍历一个模型片段,这个模型片段工作得很好

控制器: 返回视图(_entities.formTemplate.ToList())

视图:

问题是,我希望能够将这个特定的选择框嵌入到不仅仅是这个单一操作/视图中,从我一直在做的谷歌搜索来看,它似乎应该进入一个共享视图,但我不清楚如何从控制器在该视图中填充模型?(或者我完全不知道分享观点的目的?)

在我习惯使用的另一个MVC框架中,有一个过滤器的概念,您可以在任何操作之前或之后调用代码,并在模型经过控制器并进入视图时修改模型。在.net MVC中,这是可能的吗


感谢您的帮助。

您需要使用HtmlHelper方法DropDownList()来创建输入:

<%= Html.DropDownList("id", new SelectList(formBuilder, "ID", "Name")) %>

您可能希望在此处使用ViewUserControl

如果你走那条路,你有两个选择。如果模型数据容易获得,请在RenderPartial的调用站点重新创建,如下所示:

<%=Html.RenderPartial("ViewName", new ModelData())%>

如果数据依赖于当前模型数据,则需要以某种方式将该数据传递给局部视图


Net MVC还具有控制器操作前/后的概念。您可以使用派生自的属性装饰控制器方法。在这里,您可以访问OnActionExecuting和OnActionExecuted。

您需要在问题中直接添加pastie的代码。通过单击编辑器中的“101010”按钮将其格式化为代码。