Frage

In asp.net Mvc, können Sie einfach anrufen / einen Controller aus einer Sicht hinzufügen, aber was ist der einfachste Weg, Kind / Subcontrollern von einem Controller hinzuzufügen. Was Im an immer ist, ich will, um dynamisch eine Liste der untergeordneten Steuerungen baut aus dem Controller selbst, nicht aus der Sicht.

Das Muster, das ich im Sinne habe, ist aus dem alt IBuySpy portal / dnn abgeleitet, wo Sie mit einer Liste von steckbaren Modulen kommen, die Sie in der Seite injizieren wollen. Jedes Modul ist, selbst, ein Controller und ist unwissend, dass es ein Kind Anforderung ist. Aber dnn verwendet die ui / Ansichten, die die Module zu injizieren, wie, wo ich möchte eine Liste der Module in der Steuerung erstellen, dann sagen die Ansicht, sie zu injizieren.

Vielen Dank im Voraus,

Jesse

War es hilfreich?

Lösung

Wenn Sie ein Array von Objekten in Ihrer Ansicht nach Modell haben, die Informationen entsprechend den gewünschten Module enthält, können Sie sie in die Ansicht mit Render wie diese injizieren:

<div id="LeftColumn">
    <% foreach (module in Model.Modules) { 
        Html.RenderAction(module.ActionName, module.ControllerName, new {id = module.id}); 
    } %>
</div>

Render ist ein Verfahren, das ein Verfahren auf einem Controller ruft und spritzt das Ergebnis in der Seite an der Stelle, wo Render genannt wird. Es ist Teil der ASP.NET MVC Futures Montage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top