2012-04-04 108 views
0

我正在使用mvc进行分类广告项目。 这是我在mvc中的第一个项目,所以我正面临着构建小型CMS的问题。如何在asp.net中动态创建视图页mvc3

在这个网站的情况是这样的:

  1. 用户将创建一个页面,这将是动态创建的,而这个页面将是其主页。
  2. 此页面内容像(标题,菜单栏,页脚等)将被动态创建。
  3. 用户可以添加更多关于我们的页面或与我们联系。就像你会用www.wordpress.com一样。

我使用塔伊字动态指通过C#或其他任何方法

所以我很困惑如何创建这些页面以及如何保存和管理CSS,这些页面的HTML生成。

请帮我的任何书籍或文章(我搜索了很多,但我没有找到一个解决方案)

我不希望使用任何CMS工具(这是一个客户的要求)

+0

这是可能创建多个视图在一个动作...? – 2012-04-04 20:20:54

回答

0
+0

我同意这些都是很好的书,但我认为OP正在要求一本关于在MVC中开发CMS的特定书。我不认为有任何。 – Iridio 2012-04-04 19:54:38

+0

@Iridio - 我也不知道,所以我提供了我所知道的最好的。这些将为您提供开发自己的CMS的基础知识,这正是我认为OP所暗示的。 – 2012-04-04 19:57:03

+0

所以任何其他帮助构建CMS的材料 – 2012-04-04 19:57:32

1

我不知道任何特定的书上从头开始开发一个CMS 。

除了已经在Travis J的答案中列出的好书以外,我建议你看看Umbraco。这是一个CMS,你可以下载来源。

我强烈建议您在潜入Umbraco来源之前先阅读ProfessionaL ASP.NET MVC 3Pro ASP.NET MVC 3 Framework之间的至少一个。

+0

这是可能创建多个视图在一个动作...? – 2012-04-04 20:18:43

+0

是的。你可以有一个方法来做一些逻辑并输出不同的视图。 – Iridio 2012-04-04 20:20:49

0

您不打算动态创建cshtml页面。这听起来像是一个根本的误解。我是.net mvc的新手,所以我的代码示例可能关闭。但是我做了很多CMS。一个视图将是“从数据库渲染东西”视图,我将其称为RenderStuff。你会定义很多不同部分的存在,所以你的主人布局页面可以@RenderSection(“头”),以及您的RenderStuff看法会做:

@section header { 
    //query db for header row based on customer and pageid 
    //if found, write out as html 
} 

你可能会想,这样你总是设置路由具有客户和页面ID的两个路由参数:

context.MapRoute(
       "Stuff_default", 
       "Stuff/{controller}/{action}/{customer}/{pageid}"} 
      ); 

CMS还有很多其他的参数。

+0

我也在思考这个概念。但问题是这个如何管理其每个页面的主体内容和CSS例如如果用户所在地图像及其一些文本描述然后如何管理这些东西 – 2012-04-04 21:11:44

+0

这是建立一个CMS的全部。你不允许无限的灵活性。您允许使用几个模板,因为您最终只需要几页将数据从数据库中提取出来并将其放入页面中的字段中。检查Blogger或WordPress。你可以在你的控制器中查询“客户和页面id,这是什么模板”,然后返回View(“picsLayout”)或返回View(“mainLayout”)。请注意,ASP.Net MVC可以编写一个CMS,但是对于这个任务来说,它并没有比PHP或传统ASP更具优势。 – 2012-04-05 19:55:39

1

ORCHARD CMS - 它是在ASP.NET MVC上开发的。 也许你可以使用这个CMS作为你的基础,只是开发你需要的确切的扩展。

+0

我没有听说过这个。下载它看看源代码,因为我对mvc比较陌生。 – 2012-04-06 17:54:16