Ich sehe, es gibt eine Frage here, aber es gibt keine endgültige Antwort. Hat jemand Ideen, wie man eine PartialView mit Javascript oder JSON zurückgibt. Ich mache eine AJAX-Post, bei Erfolg rendert sie die PartialView, muss dann aber etwas Javascript ausführen oder das JSON-Ergebnis prüfen.Return PartialView und Javascript von Controller
Antwort
public static string RenderPartialToString(string controlName, object viewData, object model, System.Web.Routing.RequestContext viewContext)
{
ViewDataDictionary vd = new ViewDataDictionary(viewData);
ViewPage vp = new ViewPage { ViewData = vd };
vp.ViewData = vd;
vp.ViewData.Model = model;
vp.ViewContext = new ViewContext();
vp.Url = new UrlHelper(viewContext);
Control control = vp.LoadControl(controlName);
vp.Controls.Add(control);
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter tw = new HtmlTextWriter(sw))
{
vp.RenderControl(tw);
}
}
return sb.ToString();
}
Ich denke, die Antwort für die andere Frage möglicherweise Ihre beste Option sein. Sie können nicht plötzlich eine andere onSuccess
Methodensignatur haben, bei der ein anderer Parameter mit einem JSON-Objekt hinzugefügt wird, sodass Sie mit einem Rückgabeobjekt festhängen. Logischerweise muss dieses Objekt dann sowohl Ihre Ansicht als auch Ihr JSON-Objekt enthalten, was impliziert, dass das Objekt selbst ein JSON-Objekt sein muss.
Wenn der Post zum Controller aufgerufen wird, ist es über jQuery AJAX. Der Controller gibt HTML zurück. Ein JSON-Objekt enthält Daten darüber, was passiert ist und welche Fehler aufgetreten sind. Das OnSuccess-Ereignis kann ein Div mit dem PartialView aktualisieren, während es in die Antwort schreibt, so dass dies ausgegeben wird, aber ich muss etwas mit einem JSON-Objekt tun – Jon
So wird das JSON-Objekt nur im Fehlerfall zurückgegeben? –
Nein, es wird jedes Mal zurückgegeben, es enthält einfache Daten wie "person updated" oder komplexere Daten, wenn Fehler auftreten. – Jon
- 1. Javascript, MVC Controller Caling und Return-Parameter
- 2. Zurückgeben einer PartialView mit HTML und JavaScript
- 3. -Controller Rückkehr PartialView gesamte Ansicht überschreiben
- 4. Spring Controller Return-Ansicht und JSON Together
- 5. PartialView und unaufdringliche Client-Validierung funktioniert nicht
- 6. Convert PartialView
- 7. PartialView muss von WebViewPage-Fehler
- 8. Spring MVC Controller: Was ist der Unterschied zwischen "Return Forward", "Return Redirect" und "Return JSP-Datei"
- 9. Spring Controller + Ajax Return String
- 10. Problem beim Laden von Inline-Javascript in einer PartialView
- 11. Return
- 12. Modal Popup mit partialview
- 13. Einen PartialView von $ .Ajax Beitrag zurückgeben
- 14. PartialView nicht
- 15. ApplicationUser ist null beim Zurückgeben von PartialView
- 16. Javascript-Datum von Controller
- 17. JavaScript: Erweiterungstypen - Zweck von "return this"
- 18. Wie wird die Liste der Elemente von PartialView auf den Controller übertragen?
- 19. Return JSON Ergebnis aus einem Api-Controller
- 20. Instanziierten View-Controller mit Identifier return nil?
- 21. Angular - Return ID von URL Pfad in Controller
- 22. Return Logik von Controller in Ansicht Laravel 5
- 23. MVC 4-Return Fehlermeldung von Controller--Show in View
- 24. Spring Controller Return Protobuf für bestimmte Pfad
- 25. Aufruf Controller-Aktion von Javascript
- 26. PartialView in Webformularen
- 27. Rails Controller Aktion UND Javascript onclick
- 28. verwirrt # map return array javascript
- 29. return 1 und return 0 VS return true und return false
- 30. Return PartialView mit Bootstrap modal deckt gesamte Elternansicht, anstatt nur in modal Rendering
Ich sehe Sie eine Lösung gefunden. Haben Sie es woanders gefunden oder haben Sie sich das selbst ausgedacht? Nur neugierig ... –
Nahm es von hier und modifizierte es leicht - http://thriftybliss.spaces.live.com/blog/cns!58DA805F37F31F20!170.entry – Jon