MVC c#中的静态html处理

本文关键字:html 处理 静态 MVC | 更新日期: 2023-09-27 18:04:38

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

/pagecontroller/some-specific-page-name

/pagecontroller/12345

这些页面的内容大部分是静态html。它很少改变。

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

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

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

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

我没有使用webkit。

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

编辑:我应该说,这些页面都不包含任何表单,也不需要太多的服务器端功能。

MVC c#中的静态html处理

或者,您可以重写mvchandler并执行如下操作:

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

或者您可以编写自己的模块并将其设置在web上。配置,类似于stackoverflow实现:

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

我相信如果我理解你的delima,你可以使用mvc控制器提供的HandleUnknownAction功能。

你可以设置它,这样你就可以重定向到任何你喜欢的url,如果它没有找到一个匹配的控制器,那么它会抛出一个未知动作异常,你的重写会简单地重定向到你想要的静态页面。如果控制器动作不存在,则一切正常运行。

我唯一的评论是,如果你的应用程序的绝大部分将是静态html页面,这样几乎每个页面都会抛出一个未知的动作错误,那么你将首先击败运行w/mvc的目的。

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