2010-02-02 23 views
0

我一直在阅读MVC,并用它创建了一些数据驱动的宠物项目,我对从WebForms的转变感到非常满意。我怎样才能将ASP.NET MVC框架与我的CMS软件结合使用?

但是,我有一些限制,让我反感与WebForms,我想知道你是否可以帮助我。

我作为一名顾问工作于一家Web CMS公司,因此所有网站(公共网站,企业内部网,外联网,您的名字)均基于我公司的CMS软件(应该保持无名)。

销售人员喜欢关注我们的软件的其中一个特点是其“友好”的网址。在财政上,所有数据都像CMS一样在CMS内存储和结构化。然后,当您将浏览器指向http://mywebsite.com/about时,CMS将从名称为“about”的根目录下存储的项目返回内容。

每个项目还有一个(可互换的)模板注册,它是要显示其内容(.aspx页面)的文件的物理位置。就像MVC上的“视图”一样。

为了处理友好的网址我要补充一个HTTP处理程序如下:

<add verb="*" path="*" 
    type="Cms.ASPDelivery.HttpRequestHandlerFactory, CmsDelivery" /> 

这会照顾友好的URL,并会做内容和观点之间的映射。

以一种架构方式,您可以看到就像MVC一样。数据存储在CMS中,演示文稿独立于数据,处理程序将成为控制器。

但是,当它涉及编码本身,它是旧的Webforms spagetti。

所以,我的问题是:你看到我可以同时使用MVC和我的CMS'Http Handler吗?

回答

1

这取决于HttpHandler的具体实现,但在大多数情况下,这是可能的。您必须添加MVC UrlRoutingModule并设置MVC。我在友好的url-s的CMS环境中使用MVC。该CMS被称为EPiServer,从你所描述的它具有几乎相同的功能。我使用ASP.NET MVC作为模板页面。物理页面的路径实际上由控制器的操作处理。它可以正常工作,并且可以进行一些调整,我可以说它比WebFroms更好,特别是如果您开发自定义Web应用程序。

+0

我在您的博客上添加了一条评论,网址为http://www.abadjimarinov.net/blog/2009/10/27/AspdotNETMvcDefaultRouteProblem.xhtml – Pablo 2010-02-02 15:03:16