在MVC View中包含预编译的内容

时间:2017-08-21 19:01:54

标签: c# html asp.net-mvc asp.net-core

我有一些预编译的html内容,我希望将其包含在我的视图中:

@*View Start*@ 

Some precompiled html

Some view content

Some precompiled html

Some view content

Some precompiled html

@*View End*@

我已经想过某些方法,但是每个方法都有一些我不想使用它的缺点。这些是我想到的方式:

  • 虽然这些html代码是使用固定内容预编译的,但它们可能会不时更改(比方说每周),因此无法包含在视图中
  • 它们的大小相当大,所以我不认为在数据库中使用它们是明智的(会增加数据库大小和数据带宽)
  • 将它们放在html文件中并使用C#函数将它们写入视图@File.ReadAllText("page-customized-head.html"),这样会很慢并且会使硬盘比它应该更加繁忙。

我想知道是否有人可以提出更好的解决方案或改进上述解决方案的方法。

修改 我放弃了像ajax这样的解决方案,因为在这种情况下不适合我的设计。在@ Hadee的评论之后,我注意到我的描述并不完整,所以我添加了更多的描述。

这些内容文件对于不同用户的不同页面可以是唯一的,因为用户可以自定义css,js。添加 - 编辑删除html元素。因此,每个用户可能有几个页面,每个页面可能有几个不同的“预编译”部分。

由于这些内容可能是页面的主要部分,可能包含css,js(以下内容可能依赖于它),... ajax 不适合此处。

至于部分视图,我看不出它们之间有什么不同,并且将内容写入html文件。实际上我认为html文件和@File.ReadAllText("page-customized-head.html")会更快,因为与.cshtml不同,它不需要编译。

0 个答案:

没有答案