Ich möchte eine PartialView auf eine HTML-Zeichenfolge rendern, so dass ich es auf eine SignalR Ajax Anfrage zurückgeben kann.Rendern MVC PartialView in SignalR Antwort
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 nicht scheinen kann, eine PartialView außerhalb eines Controllers zu rendern. Ist es sogar möglich, eine PartialView außerhalb eines Controllers zu rendern? Es wäre sehr schön, wenn man die genialen HTML-Fähigkeiten von Razor nutzen könnte.
Gehe ich das alles falsch? Gibt es eine andere Art und Weise?
auch interessiert ... Ideen? Können Sie Teiltöne außerhalb von Controllern darstellen? –
Es ist kein bequemer Weg, um fortzufahren. Es ist besser, nur kson-Daten zurückzugeben und dann eine clientseitige Vorlage zu erstellen, die sich bereits auf der Seite befindet. Das tempate wiederum kann mit einer Teilansicht gerendert werden –