2017-04-03 1 views
0

Ich arbeite in einem Unternehmen Asp.Net MVC CMS, enthält Komponenten, Module und Widgets, jede Komponente, Modul oder Widget ist nur eine DLL.Speichern RenderAction Ergebnis in einer String-Variablen

Jetzt möchte ich eine Aktion in einer bestimmten Assembly aufrufen und das Ergebnis in einer String-Variable speichern (Erstellen von dynamischen Seiten), also haben Sie eine Idee?

Weitere Informationen: In den dynamischen Seiten des Systems, das ich erstelle, können Benutzer Seiten erstellen und Widgets ziehen, damit sie darauf zugreifen und ihre URL in ihre Website einfügen können.

Danke Jungs.

Edit 1: Ich habe eine Lösung im Internet gefunden, um Ansichten auf einen String zu rendern. aber das Problem ist, ich habe Aktion mit spezifischen Parametern, also sollte ich einen Parameter an die Aktion übergeben, dann rendere es auf eine String-Variable.

Antwort

1

Html.Action kehrt MvcHtmlString, so sollten Sie in der Lage sein zu tun, nur:

var html = Html.Action("MyAwesomeAction", new { foo = "bar" }); 
+0

Sie Chris danken, wenn ich den obigen Code bin mit Visual Studio Intelligenz Pop-ups die folgende Fehlermeldung: kann nicht ungültig konvertieren eine implizit typisierte Variable – SMAI

+0

tatsächlich habe ich die Html.RenderAction überprüft, es ist eine void-Methode und gibt nichts zurück – SMAI

+0

Ich habe den folgenden Prozess, um das Ziel zu erreichen. 1) Rufen Sie die Aktionsmethode mit der Systemreflexion auf 2) geben Sie die Ansicht zurück und speichern Sie sie in einer Variablen 3) rendern Sie das zurückgegebene ViewResult in eine Zeichenkette 4) übergeben Sie die Ergebniszeichenfolge an die endgültige Ansicht und zeigen Sie sie an. – SMAI

Verwandte Themen