Noa*_*ley 1 c# asp.net-mvc razor
我正在尝试渲染存储在我的数据库中的字符串,就像它来自CSHTML文件一样.这是我想呈现的示例字符串:
<footer>
<div class="content-wrapper">
<div class="float-left">
<p>© @DateTime.Now.Year - My ASP.NET MVC Application</p>
</div>
</div>
</footer>
Run Code Online (Sandbox Code Playgroud)
请注意"@ DateTime.Now.Year"?好吧,如果将它存储在数据库中,我将如何将其渲染到视图中并将其中的一部分实际呈现为2014年(或者您正在阅读此内容的那一年)?
你可以使用RazorEngine(NuGet包"RazorEngine").
包管理器控制台:
PM> install-package razorengine
Run Code Online (Sandbox Code Playgroud)
在你的代码中:
string template = GetYourTemplateFromDatabase();
string content = RazorEngine.Razor.Parse(template, null);
Run Code Online (Sandbox Code Playgroud)
如果要将此输出添加到实际视图中,则必须将其添加为IHtmlString
或使用@Html.Raw(ViewBag.Content)
:
控制器代码(for IHtmlString
):
ViewBag.DatabaseCode = MvcHtmlString.Create(content);
Run Code Online (Sandbox Code Playgroud)
查看代码:
<div>
@ViewBag.DatabaseCode
</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1349 次 |
最近记录: |