Html 使用razorengine mvc渲染视图
我使用获取视图并将其加载为html。但是,我的问题是,我正在从数据库中读取html代码,并将其显示在我的网页上。但它在我的网页上为我提供了字符串结果,而不是html输出。 我怎样才能解决这个问题 谢谢你 我的简单看法是这样的Html 使用razorengine mvc渲染视图,html,asp.net-mvc,razor,content-management-system,razorengine,Html,Asp.net Mvc,Razor,Content Management System,Razorengine,我使用获取视图并将其加载为html。但是,我的问题是,我正在从数据库中读取html代码,并将其显示在我的网页上。但它在我的网页上为我提供了字符串结果,而不是html输出。 我怎样才能解决这个问题 谢谢你 我的简单看法是这样的 @model Cms.ViewModules.MasterPageViewModel @Model.PageLanguageViewModel.HtmlCode 这就是如何从我的视图中获取html格式的视图 public static class HtmlHelperP
@model Cms.ViewModules.MasterPageViewModel
@Model.PageLanguageViewModel.HtmlCode
这就是如何从我的视图中获取html格式的视图
public static class HtmlHelperPageContent
{
public static IHtmlString GetPageAll(this HtmlHelper htmlHelper, MasterPageViewModelmodel)
{
string page = model.PageLanguageViewModel.SablonHtlmCodu;
List<string> registeredModules = PageModulles.RegisteredModules;
foreach (var modulename in registeredModules )
{
string fullmodulename = "${" + modulename + "}";
if (page.Contains(fullmodulename ))
{
string viewname = modulename.Insert(0, "PW_");
IHtmlString value = RenderViewHelper.RenderPartialToString("Views/Default/" + viewname + ".cshtml", model);
page=page.Replace(fullmodulename , value.ToHtmlString());
}
}
return MvcHtmlString.Create(page);
}
@Raw@Model.PageLanguageViewModel.HtmlCode解决了我的问题另一种方法是通过创建一个RawString实例来使用IEncodedString而不是IHtmlString @Raw在幕后就是这么做的
public static class RenderViewHelper
{
public static IHtmlString RenderPartialToString(string viewPath, object model)
{
string viewAbsolutePath = MapPath(viewPath);
var viewSource = File.ReadAllText(viewAbsolutePath);
string renderedText = Razor.Parse(viewSource, model);
return new MvcHtmlString(renderedText);
}
}