Nef*_*ion 2 c# asp.net-mvc asp.net-mvc-partialview asp.net-mvc-4
免责声明:我编辑了这个问题,因为我改变了这个过程,但它没有改变任何问题......
我试图得到一个PartialViewResult字符串渲染,我试图使用RenderRazorViewToString这个问题的方法渲染视图作为字符串 ...,我从这个qustion mvc返回局部视图的提示作为json
我的问题是,字符串看起来像这样:
<$A$><h1>SomeHeader</h1>
<table</$A$><$B$> class="table table-striped"</$B$><$C$>> <tbody</$C$><$D$> data-bind="template: { name: 'eventTemplate', foreach: events }"</$D$><$E$>></tbody>
</table></$E$>
Run Code Online (Sandbox Code Playgroud)
而不是这个
<h1>SomeHeader</h1>
<table class="table table-striped">
<tbody data-bind="template: { name: 'eventTemplate', foreach: events }"></tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
更新:
流程如下所示:
public ActionResult Index(string item, long id)
{
var cont = SomePartialView(item, id);
return View(model: RenderRazorViewToString(cont));
}
Run Code Online (Sandbox Code Playgroud)
现在View只是渲染字符串,如下所示:
@Model
Run Code Online (Sandbox Code Playgroud)
在RenderRazorViewToString(PartialViewResult)返回这个"跛脚"串...
作为调用的Action的结果,还可以返回ContentResult/Content对象.
然后在View中使用返回的结果.
以下是此解决方案的说明(需要RenderViewToString方法):
视图:
@Html.Action("GetHtmlAction")
Run Code Online (Sandbox Code Playgroud)
PartialView(html内容的来源):
<h1>SomeHeader</h1>
<table class="table table-striped">
<tbody data-bind="template: { name: 'eventTemplate', foreach: events }">
<tr>
<td>Fake Cell</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult GetHtmlAction() {
string htmlContent = RenderRazorViewToString("FakePartialView", null);
return Content(htmlContent);
}
public string RenderRazorViewToString(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.GetStringBuilder().ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11024 次 |
| 最近记录: |