繁体   English   中英

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

[英]How to create view page dynamically in asp.net mvc3

我正在使用 mvc 进行分类广告项目。 这是我在 mvc 中的第一个项目,因此我在构建小型 CMS 时遇到了问题。

在这个网站场景是这样的:

  1. 用户将创建一个页面,这将是动态创建的,该页面将成为其主页。
  2. 此页面内容(页眉、菜单栏、页脚等)将动态创建。
  3. 用户可以添加更多关于我们的页面或联系我们。 就像您使用www.wordpress.com 一样

我正在使用动态词来表示由 c# 或任何其他方法生成

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

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

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

我不知道有任何专门介绍从头开始开发 CMS 的书籍。

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

我强烈建议您在深入了解 Umbraco 源代码之前,首先至少阅读ProfessionaL ASP.NET MVC 3Pro ASP.NET MVC 3 Framework之间的一个。

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

您不会动态创建 cshtml 页面。 这听起来像是一个根本性的误解。 我是 .net mvc 的新手,所以我的代码示例可能已关闭。 但我做过很多 CMS。 一个视图将是“从数据库中渲染内容”视图,我将其称为 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 还有很多。

暂无
暂无

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

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