1

我正在创建一个用 C# 编写的 MVC 4 Web 应用程序。在其他功能中,一个功能应该允许用户导航到这样的页面:

/pagecontroller/some-specific-page-name

或者,或者,

/pagecontroller/12345

这些页面的内容主要是静态 html。它很少改变。

我将是唯一一个添加新页面的人,我很高兴我是用 html 还是通过 CMS 来做的。

建议使用什么方法存储和处理此类内容?

我应该将 html 存储在数据库中并以这种方式交付吗?我当然想要数据库中的一些特定于页面的信息(例如页面类别等),但是在数据库中放入一大块 html 对我来说似乎不合适。或者,我可以创建一个数据库,其中的文章名称与可以通过 ajax 提取的静态 html 文档相对应。样式不会在这些页面上进行,因此我认为那里没有问题。尽管如此,随着文章的增加,感觉也不是 100% 正确。第三个相当愚蠢的想法是一个称为元素的表。每行将包含一个或多个元素,并且代码可以使用某种模板将元素放置在所需的位置。

真正的诀窍是我希望它能够根据需要从一个小项目扩展到一个更大的项目。

我没有使用 webkit。

你建议我怎么做?非常感谢。

编辑:我应该说 - 这些页面都不包含任何形式或需要服务器端可能的方式。

4

2 回答 2

2

或者,您可以覆盖 mvchandler 并执行以下操作:

https://github.com/noogen/phuncms/blob/master/src/Phun/Routing/PhunMvcRouteHandler.cs

或者您可以编写自己的模块并在 web.config 中进行设置,类似于 stackoverflow 实现:

http://samsaffron.com/archive/2011/10/13/optimising-asp-net-mvc3-routing

请参阅具有指向某些静态文件的链接的 phuncms azure 演示示例。

于 2013-03-19T22:04:14.390 回答
1

我相信如果我了解您的 deima,您可以使用mvc 控制器提供的HandleUnknownAction功能。

您基本上可以对其进行设置,以便您重定向到您喜欢的任何 url,如果它没有找到匹配的控制器,那么它会抛出一个 UnknownAction 异常,并且您的覆盖只会将它重定向到您一直想要的静态页面......如果确实存在控制器操作,则一切正常运行。

我对此唯一的评论是,如果您的应用程序的绝大多数将是静态 html 页面,那么几乎每个页面都会抛出一个未知操作错误,并且您将首先违背运行 w/mvc 的目的。

另请参阅: 在没有控制器或 ASP.net MVC 中的操作的文件夹中显示视图

于 2013-03-19T18:20:13.220 回答