我应该在ASP.NET MVC中使用Areas还是RenderAction?

时间:2009-07-31 18:16:15

标签: asp.net-mvc design-patterns

到目前为止,我在这里和那里只阅读了一些花絮,并没有真正使用它们。对于RenderAction也是如此,但是我遇到了一个问题,我希望将所有页面中使用的某个页面分开,但它具有自己的功能。使用webforms我只是使用一个控件。使用MVC我倾向于使用RenderAction方法,然后bam今天v2预览1出现了“区域”支持。 RenderAction似乎从未真正支持被推入期货项目。

我的猜测是你现在想要远离RenderAction,因为区域似乎有更多的未来支持。现在虽然看起来你需要创建一个完整的新项目才能拥有“区域”?

所以我有一个SideBar项目,一个BreadCrumb项目,一个UserLoggedIn项目......赞。

人们如何将一切分开?我不可能是唯一遇到这种情况的人。

1 个答案:

答案 0 :(得分:2)

区域让我觉得这是一种将大型项目组织成分段区域的方法,而RenderAction则有一个特定的目的......提供了一种方法,可以将“小部件”注入页面,而无需将数据推送到视图中每个需要窗口小部件的页面,就像您必须使用局部视图一样。

这是填充网页特定部分的完美方式,例如菜单或侧边栏...视图中的一行代码调用特定控制器上的特定方法,并仅返回特定方法所需的数据页面的一部分。


这可以缓解您对RenderAction受支持的担忧。

FROM http://weblogs.asp.net/scottgu/archive/2009/07/31/asp-net-mvc-v2-preview-1-released.aspx

re:ASP.NET MVC V2 Preview 1发布

2009年7月31日星期五上午11:29 ScottGu @Dominic,

  

Html.RenderAction()会在ASP.NET MVC V2中出现吗?

是的 - 这是关于V2的当前计划。

谢谢,

斯科特