我有一些保存在我的数据库中的HTML,稍后会对其进行修改并保存在变量中,最后使用@Html.Raw( Model.Page.Html )
打印在我的视图中。
问题是,此HTML拥有一些Razor
代码,例如ViewBag.Email
。我怎么能在打印HTML之前渲染这个Razor代码?我已经尝试将其放在Partial View
上并在HTML中调用它然后打印它但它也不会起作用。
有些人向我指出了RazorEngine
lib,但是我无法做到这一点,我安装了3.7.7版本,但文档对我来说有点混乱。
如果RazorEngine
是我最好的选择,那么有人可以在打印之前提供一个如何呈现HTML的示例吗?
修改
这是我的问题的一个示例:我的联系页面里面有一个表单。在我Filter
的某个时刻,我检查了请求是否来自移动设备并且使用此信息我将在ViewBag上设置输入的类型,例如:
<input type="@ViewBag.ITEmail" placeholder="E-mail" name="cEmail">
此HTML从我的数据库中提取并传递给我的助手以修改某些信息,然后使用View
将其打印在@Html.Raw( Model.Page.Html )
上。
答案 0 :(得分:1)
Razor视图是动态构建的。每次编辑剃刀文件时,它都会在后台编译并内置到新的dll中。
基本上你必须以某种方式触发构建过程,这通常是在更改cshtml文件时触发的。所以,你必须这样做。加载并保存文件。或者深入研究内部......