如何在ASP.Net MVC 3中创建视图,将视图的一部分创建/呈现到另一个视图/控制器,而不知道设计时间什么视图/控制器将被推迟到什么时候?如何在ASP.Net MVC 3中创建复合视图?
我有一个使用布局页面的仪表板视图/控制器。仪表板视图完成了渲染整个屏幕的大部分工作。但是整个屏幕中的某个占位符部分将根据业务规则,配置,用户交互等而有所不同。可能需要在占位符部分呈现三个单独的插件视图/控制器。一旦仪表板控制器确定哪个插件应该可见,我如何指示仪表板视图呈现特定的插件视图。我已经通过在Dashboard模型中放置标志,然后在Dashboard视图中使用基于标志的相应参数调用Html.RenderAction来实现这一点。这似乎并不令人满意,我认为已经有一种简单的内置功能用于这种场景,请告知。
谢谢
其实你错过了我不知道的**设计**时间的关键点,哪些插件将被加载,直到**运行时**才知道。 – apalmer 2011-04-06 18:48:46
RenderPartial将一个字符串和一个对象作为参数,在运行时很容易覆盖。 RenderAction是一个控制器方法,因此它可以自己加载对象并找出要渲染的视图。我知道,我已经有了一些基于窗口小部件的系统,可以完成这些工作来渲染在设计时不存在的组件。 – 2011-04-06 20:22:58