PartialView Html-String

Habe ich einen workflow, der verwendet signalR zum aktualisieren einer Seite, wie Daten, die von dem service. Derzeit ist der flow sieht wie folgt aus:

Service -> SignalR Hub           Controller
                       v      ^              v
                         View                   Partial

Die oberste Zeile ist server-side, bottom-client. Ich benutze signalR zu erreichen, meine jquery-Funktion, die verwendet AJAX, um die partiellen view vom controller und aktualisieren Sie die Seite.

Wie es scheint, konnte ich verkürzen diesen Prozess :

Service -> Controller -> SignalR Hub
                                     v
                                        View

Wo der controller würde senden Sie die string-Darstellung des partiellen view, um den SignalR-Hub.

Mein problem ist zu versuchen, um die string-Darstellung des partiellen view. Ich habe sah sich um und fand diesen code:

protected string RenderPartialViewToString(string viewName, object model)
    {
        if (string.IsNullOrEmpty(viewName))
            viewName = ControllerContext.RouteData.GetRequiredString("action");

        ViewData.Model = model;

        using (StringWriter sw = new StringWriter())
        {
            ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
            ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
            viewResult.View.Render(viewContext, sw);

            return sw.GetStringBuilder().ToString();
        }
    }

Aber dies erfordert, dass der ControllerContext, das ist für mich immer null, wie ich bin nicht der Aufruf dieser Methode vom client. Ich habe nicht gefunden, einen Weg, um das Rendern der partiellen Sicht, ohne den ControllerContext. Ist es möglich, dies zu tun?

InformationsquelleAutor Jonesopolis | 2014-02-28
Schreibe einen Kommentar