简体   繁体   English

将CMS与现有的ASP.NET网站集成

[英]integrate CMS with an existing ASP.NET web site

I am trying to integrate a CMS into an existing ASP.NET Web site built with .aspx files and .aspx.cs code behind files (not compiled). 我试图将CMS集成到现有的ASP.NET网站中,该网站使用.aspx文件和文件后的.aspx.cs代码(未编译)构建。

My research indicated that my best candidate is N2 CMS. 我的研究表明,我最好的候选人是N2 CMS。

My ideal approach is to configure the editor with various editable content types and have my existing pages and user controls use the API to retrieve the content and place it pro grammatically into containers. 我的理想方法是为编辑器配置各种可编辑的内容类型,并让我现有的页面和用户控件使用API​​检索内容并将其以编程方式放入容器中。

I couldn't find how this can be done, anyone have any idea how and if can this be done ? 我找不到方法,任何人都不知道如何以及是否可以做到?

Is there any other CMS that is better suited for the task? 还有其他更适合此任务的CMS吗?

We have had this exact setup existing web applications (WebForms + MVC) integrated with N2 in the same manner as you have described in previous projects and it was fairly simple to implement, but by now we have switched to using umbraco for the same purpose for the following reason: 我们已经按照与之前项目中描述的相同方式,对与N2集成的现有Web应用程序(WebForms + MVC)进行了精确设置,实现起来相当简单,但是到目前为止,出于相同目的,我们改用umbraco原因如下:

  • better support (larger community) 更好的支持(更大的社区)
  • better backend editors 更好的后端编辑器
  • more ready avilable modules (even commercial supported ones) 更多可用的可用模块(甚至包括商业支持的模块)
  • richer backend ( proper multi language support) 后端更丰富(适当的多语言支持)
  • configurable rather than code oriented (this is a pro/con depending what you need) 可配置而不是面向代码的(根据您的需要,这是一个优点/缺点)

One important note: 重要说明:
Don't waste time host the CMS + the actual application in the within the same ASP.NET application. 不要浪费时间在同一ASP.NET应用程序中托管CMS +实际应用程序。 We have all of the installations separate and we would have not done it differently looking back, especially when you have existing web applications with routing etc. in place already. 我们将所有安装分开放置,并且回头做就不会做不同的事情,尤其是当您已经有带有路由等的现有Web应用程序时。 The CMS is just going to mess this up at some point. CMS只是在某个时候搞砸了。 Also this is not CMS specific. 此外,这也不是CMS特定的。

Traditional CMS are pretty intrusive, they dictate you the way you must build your system. 传统的CMS非常具有侵入性,它们指示您必须构建系统的方式。 And if you already have a web site, and just want to add some Content Management functionality into it you are out of luck - all traditional CMS want you to demolish your old web site and rebuild everything from scratch. 而且,如果您已经有一个网站,并且只想向其中添加一些内容管理功能,那么您就不走运了-所有传统CMS都希望您拆除旧网站并从头开始重建所有内容。

It's actually a good idea to keep CMS and web application separate. 保持CMS和Web应用程序分开是一个好主意。 In that case all you need is some kind of markers on your web pages telling the CMS what should be manageable. 在这种情况下,您只需要在网页上使用某种标记就可以告诉CMS什么是可管理的。 "Software plus Service" solution. “软件加服务”解决方案。 This is what ElasticWCM (http://www.elasticWCM.com) is trying to do. 这就是ElasticWCM(http://www.elasticWCM.com)试图做的事情。

For a web site developer ElasticWCM is just a set of ASP.NET controls you can wrap around your Html to make the content manageable. 对于网站开发人员而言,ElasticWCM只是一组ASP.NET控件,您可以将其包装在HTML中以使内容易于管理。 When you click on the "Edit Page" button on the PageToolbar control you get redirected to the rich page editor where you can manage all your content fields. 当您单击PageToolbar控件上的“编辑页面”按钮时,您将被重定向到富页面编辑器,您可以在其中管理所有内容字段。 Nothing to install, just reference the controls' DLL. 无需安装,只需引用控件的DLL。

You can't get less intrusive than that. 您所获得的干扰不会比这少。 As a bonus you receive all bells and whistles of a full-scale multilingual CMS and a bunch of unique features. 作为奖励,您将获得全面的多语言CMS的所有优势和许多独特功能。

We have had a fair amount of luck with Sitefinity from Telerik. Telerik的Sitefinity给我们带来了很多运气。 It's .net based, easy to extend, and has a good collection of plugins. 它基于.net,易于扩展,并且具有大量插件。 On the downside it is pricey. 缺点是价格昂贵。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM