Rendern von MVC PartialView in SignalR-Antwort

Ich möchte eine PartialView in eine HTML-Zeichenfolge rendern, damit ich sie an eine SignalR-Ajax-Anforderung zurückgeben kann.

So etwas wie:

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>

Mein Problem ist, dass ich eine PartialView nicht außerhalb eines Controllers rendern kann. Ist es überhaupt möglich, eine PartialView außerhalb eines Controllers zu rendern? Es wäre sehr schön, weiterhin die fantastischen HTML-Generierungsfähigkeiten von Razor nutzen zu können.

Mache ich das falsch? Gibt es eine andere Art und Weise?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage