(沮丧)找到在ASP.NET MVC中创建类似门户网站的站点(使用portlet)的正确方法

时间:2009-05-19 07:38:15

标签: asp.net-mvc

我的思绪真的会爆炸,我很沮丧。我现在已经在网上搜索了一周这个,我看到很多关于这个问题的矛盾,我不知道哪种方法是正确的。

  • this article中有些人说使用

    <%= Html.RenderUserControl( “〜/的Gravatar / GravatarImage.ascx”)%> 但在评论中,人们对使用背后的代码感到愤怒,人们正在讨论打破MVC模式和可测试性。

  • this article中,该人建议使用Partialrequests,但有些人还在讨论打破MVC模式和可测试性。

  • this article中,这家伙正在建议一种创建模板的方法,但它已不再适用了。

  • 然后有Sub Controllers,Render Action等......

这真令人困惑,让我想要自杀。我真的很喜欢MVC的简单性,但似乎创建共享实体是某种火箭科学;真的那么难,还是我错过了什么?

我想要的是非常明确的;我有一个门户网站,例如

  • 您在博客页面中,但在右栏中您可以看到来自IMDB服务的最新电影列表。
  • 我想登录,在所有页面加入新闻信。
  • 根据特定逻辑或请求加载这些模块的能力。
  • 能够异步加载这些小型portlet或实体(加载Progress GIF)

当然,这些要求与当前页面视图或其控制器无关(这是Portal网站的整体构思,您可以混搭和混合)。 在Web窗体中,您只需创建一个该死的用户控件将其拖到页面,母版页面即可完成;地狱,你甚至可以根据具体的逻辑动态加载它们。

所以,如果有人能告诉我如何在不破坏牛顿或爱因斯坦的MVC法则的情况下实现这种功能,我想很多人就像我一样在船上,所以我认为答案会让我们很多人受益。

3 个答案:

答案 0 :(得分:2)

如果你不是mvc纯粹主义者,我认为这是最好的解决方案 http://blog.codeville.net/2008/10/14/partial-requests-in-aspnet-mvc/ I

答案 1 :(得分:1)

GitHub上的Maverick开源内容管理系统项目是一个很好的起点。但目前处于早期预览状态。

答案 2 :(得分:0)

这不是部分观点的意思吗?