【发布时间】:2016-03-23 19:46:33
【问题描述】:
我有一些 HTML 保存在我的数据库中,稍后会对其进行修改并保存在变量中,最后使用 @Html.Raw( Model.Page.Html ) 将其打印在我的视图中。
问题是,这个 HTML 包含一些 Razor 代码,例如 ViewBag.Email。在打印 HTML 之前如何渲染这个 Razor 代码?我已经尝试将它放在 Partial View 上并在 HTML 中调用它然后打印它,但它也不起作用。
有些人向我指出了 RazorEngine 库,但我无法做到这一点,我安装了 3.7.7 版,但文档对我来说有点混乱。
如果RazorEngine 是我的最佳选择,谁能提供一个示例,说明如何在打印之前呈现我的 HTML?
编辑
这是我的问题的一个例子:我的联系页面里面有一个表格。在我的Filter 的某个时间点,我检查了请求是否来自移动设备,并使用此信息设置 ViewBag 上的输入类型,例如:
<input type="@ViewBag.ITEmail" placeholder="E-mail" name="cEmail">
此 HTML 是从我的数据库中获取并传递给我的助手以修改一些信息,然后使用 @Html.Raw( Model.Page.Html ) 将其打印在我的 View 上。
【问题讨论】:
-
@MuratYıldız,我的问题不在于 HTML 本身,而在于我的 HTML 中的 Razor sintax。我将用一个例子来更新我的问题。
-
我认为最好的解决方案是继续尝试使用 RazorEngine 但不要使用 ViewBag,使用模型。
-
@ZippyV,我确实可以使用模型,但我的问题是我仍然无法弄清楚如何实现 RazorEngine。
标签: c# asp.net-mvc asp.net-mvc-3 razorengine