为共享视图填充模型,在另一个视图中嵌入共享视图

时间:2009-10-23 08:12:14

标签: asp.net-mvc

我正在尝试嵌入一个小视图片段,它会逐步完成一个模型片段,当我将其嵌入单个控制器并将其传递给这样的视图时,它可以正常工作;

控制器:             return View(_entities.formTemplate.ToList());

查看:

http://www.pastie.org/666366

问题是我希望能够将这个特定的选择框嵌入到这个单一的动作/视图中,而不是谷歌我一直在做这个看起来它应该进入共享视图,但我'我不清楚如何从控制器中填充该视图中的模型? (或者我可能完全错过了共享视图的目的?)

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

任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可能希望在此处使用ViewUserControl。

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

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

如果它的数据依赖于当前模型数据,那么您需要以某种方式将该数据传递给部分视图。

ASP.Net MVC还具有控制器操作之前/之后的概念。使用派生自ActionFilterAttribute的Attribute来装饰控制器方法。在那里,您可以访问OnActionExecuting和OnActionExecuted。