【发布时间】:2012-07-23 11:26:04
【问题描述】:
我想将 PartialView 呈现为 HTML 字符串,以便将其返回给 SignalR ajax 请求。
类似:
SignalR 集线器 (mySignalHub.cs)
public class mySignalRHub: Hub
{
public string getTableHTML()
{
return PartialView("_MyTablePartialView", GetDataItems()) // *How is it possible to do this*
}
}
Razor PartialView (_MyTablePartialView.cshtml)
@model IEnumerable<DataItem>
<table>
<tbody>
@foreach (var dataItem in Model)
{
<tr>
<td>@dataItem.Value1</td>
<td>@dataItem.Value2</td>
</tr>
}
</tbody>
</table>
HTML (MySignalRWebPage.html)
<Script>
...
//Get HTML from SignalR function call
var tableHtml = $.connection.mySignalRHub.getTableHTML();
//Inject into div
$('#tableContainer).html(tableHtml);
</Script>
<div id="tableContainer"></div>
我的问题是我似乎无法在 Controller 之外呈现 PartialView。甚至可以在 Controller 之外渲染 PartialView 吗?如果仍然能够利用 Razor 附带的出色的 HTML 生成功能,那就太好了。
这一切都错了吗?还有其他方法吗?
【问题讨论】:
-
也有兴趣... 想法?你可以在控制器之外渲染局部吗?
-
这不是一种方便的方法。最好只返回 kson 数据,然后建立客户端模板,该模板已经在页面中。 tempate,反过来可以用部分视图渲染
标签: c# asp.net-mvc asp.net-mvc-3 partial-views signalr