Визуализация MVC PartialView в ответе SignalR
Я хотел бы отобразить PartialView в HTML-строку, чтобы я мог вернуть его в ajax-запрос SignalR.
Что-то вроде:
SignalR Hub (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>
Моя проблема в том, что я не могу визуализировать PartialView вне контроллера. Можно ли даже визуализировать PartialView вне контроллера? Было бы очень неплохо по-прежнему иметь возможность использовать потрясающие возможности генерации HTML, которые поставляются с Razor.
Я все об этом ошибаюсь? Есть ли другой способ?