在Html.Raw中呈现html和razor语法

时间:2019-03-04 15:47:47

标签: c# model-view-controller

我想在mvc的剃须刀页面的Html.Raw中呈现剃须刀语法。下面提供了一个示例。有人可以告诉我这可能吗?我的目标是在浏览器中将rander html文本作为html行,同时还具有一些像zow这样的剃须刀语法。那怎么可能?

@Html.Raw(ViewBag.PageContent); //ViewBag.PageContent contains html+ razor syntax as string text

Html.Raw以上仅在浏览器中呈现html,但剃刀语法显示为纯文本,例如<title>@ViewData["Title"]</title>

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

我想我可以通过在HTML和Razor语法之间使用+分隔符为您找到解决方案。在此示例中,我有一个“ RazorPage.cshtml”文件,该文件依赖于相应的“ RazorPage.cshtml.cs”文件(不是之所以显示,是因为它不相关)。此示例将动态数据“注入”到title标签和p标签中。

@page
@model ProjectName.Pages.RazorPageModel
@{
    ViewData["Title"] = "RazorPageTitle";
    ViewBag.PageContent = "<title>" + @ViewData["Title"] + "</title>" + "<p>View Source Shows the " + @ViewData["Title"]  + " Tag</p>";
}

<h1>RazorPage</h1>

@Html.Raw(ViewBag.PageContent)