将ASP.Net MVC 4与内容管理系统结合使用



我有一个运行在ColdFusion上的CMS,对于它,我通常有一个前端也运行在Cold Fusion上。出于学习的原因,我现在想用ASP.Net MVC 4框架来实现前端。对于MVC应用程序,通常有一个简单的控制器/操作路由,这在我的CMS中没有任何意义,因为它的结构完全不同。

我的CMS有一个导航模块作为基础,它处理网站的整个结构和路由。在每个导航条目上,我可以分配一个页面,该页面可以有多个元素(例如简单的HTML代码、新闻模块或图库模块)。

站点结构示例:

  • home->页面>元素(html)
  • 关于->页面>元素(html,…)
    • 我们公司->页面>元素(html、新闻、图库)
    • 我们的产品->页面>元素(html,…)
  • 联系人->页面>元素(html,联系人表单)

因此,如果用户在浏览器中打开"www.example.com/about/our company.html",应用程序就会找到负责任的导航条目"our company",它是条目"about"的子条目。现在,它应该呈现元素"html"、"news"one_answers"gallery",这些元素被分配给该导航条目的页面。

现在我的问题是,使用ASP.Net MVC框架,您将如何实现这一点?这可能吗?MVC在这里有意义吗?

我希望每个页面元素都有一个模型、控制器和视图。我需要像基本控制器这样的东西吗?它可以在不同的(元素)控制器中呈现多个操作?

更新

网站结构不是静态的,它是动态的,它由CMS管理。

另一个例子:www.example.com/de/about/more/andmore/something.html

在这个例子中,我将在导航表中搜索关键字"something",并获得负责的页面。现在我想呈现这个页面的所有元素(我只是称它们为元素)。每个元素都应该有自己的控制器和多个操作。

Asp.net MVC默认路由似乎可以

默认路线定义也适用于您的情况。至少我看不出有什么特别的问题:

{controller}/{action}/{id}

控制器的位置:

  • 家庭控制器
  • AboutController-以您为例,此控制器将具有OurCompany操作(/about/ourcompany)
  • ContactController
  • 等等

仍然不完全清楚

但我想你应该在你的应用程序中提供你想要的URL,我们可能会提供帮助。我不确定元素在您的导航中意味着什么?这是如何转化为URL的?

最新更新