Asp.net mvc ASP.NET MVC:如何在自定义html中包含PartialView?

Asp.net mvc ASP.NET MVC:如何在自定义html中包含PartialView?,asp.net-mvc,templates,Asp.net Mvc,Templates,我在自定义站点CMS中有TinyMCE编辑器,并在SQL DB中存储HTML内容 然后我在cshtml RazorView中呈现它: @MvcHtmlString.Create(Model.Content) 如何通过TinyMCE在html内容中包含PartialView 比如: ...content html... <div>[[ViewName]]</div> ...content html... …内容html。。。 [[ViewName]] …内容html。。

我在自定义站点CMS中有TinyMCE编辑器,并在SQL DB中存储HTML内容

然后我在cshtml RazorView中呈现它:

@MvcHtmlString.Create(Model.Content)
如何通过TinyMCE在html内容中包含PartialView

比如:

...content html...
<div>[[ViewName]]</div>
...content html...
…内容html。。。
[[ViewName]]
…内容html。。。

可以使用以下命令在HTML页面中包含局部视图


可以使用以下命令在HTML页面中包含局部视图


您可以执行部分视图,并将生成的html设置为TinyMCE的内容

private string ProduceViewResult(string viewName, object model)
{
  ViewData.Model = model;

  using (var sw = new StringWriter())
  {
    var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
    var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
    viewResult.View.Render(viewContext, sw);
    viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
    return sw.ToString();
  }
}
用法

var partialViewHtml = ProduceViewResult("PartialViewName", myModel);

您可以执行部分视图,并将生成的html设置为TinyMCE的内容

private string ProduceViewResult(string viewName, object model)
{
  ViewData.Model = model;

  using (var sw = new StringWriter())
  {
    var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
    var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
    viewResult.View.Render(viewContext, sw);
    viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
    return sw.ToString();
  }
}
用法

var partialViewHtml = ProduceViewResult("PartialViewName", myModel);