如何在asp.net mvc3中动态创建视图页面

时间:2012-04-04 19:18:25

标签: c# asp.net-mvc-3

我正在使用mvc开展分类广告项目。 这是我在mvc的第一个项目,所以我在构建一个小型CMS时遇到了问题。

在这个网站的情况是:

  1. 用户将创建一个页面,这将动态创建,此页面将成为其主页。
  2. 此页面内容(如页眉,菜单栏,页脚等)将动态创建。
  3. 用户可以添加更多关于我们的网页或与我们联系。和 www.wordpress.com 一样。
  4. 我使用tye word 动态表示由c#或任何其他方法生成

    所以我很困惑如何创建这些页面以及如何保存和管理这些页面的css,html。

    请帮我处理任何书籍或文章(我搜索了很多,但我找不到解决方案)

    我不想使用任何CMS工具(这是客户的要求)

4 个答案:

答案 0 :(得分:1)

我不知道从头开始开发CMS的任何书籍。

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

答案 3 :(得分:0)

您不会动态创建cshtml页面。这听起来像是一个根本的误解。我是.net mvc的新手,所以我的代码示例可能已关闭。但我做了很多CMS。 One View将是“从数据库渲染内容”视图,我将其称为RenderStuff。你可以在那里定义很多不同的部分,所以你的主布局页面可以@RenderSection(“header”),你的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还有很多其他功能。

相关问题