Domanda

Esiste un modo per avere una parte della pagina che venga visualizzata come una piccola sottopagina, come i componenti?

Ad esempio, se ho un carrello su tutte le mie pagine?

È stato utile?

Soluzione

Se vuoi che esegua il rendering di un'altra azione del controller, come componente, per ottenere l'incapsulamento, usi.

Html.RenderAction

utilizza routedata per portarti lì, ha i propri viewdata e un tipo di mini ciclo di vita

Altri suggerimenti

Utilizzando l'anteprima 5, Html.RenderPartial è il tuo uomo, puoi eseguire il rendering dei sottocontrolli e passare loro i tuoi viewdata, o un modello arbitrario, e una nuova combinazione di viewdata.

Puoi creare un ActionFilter che modifica i dati della vista.In questo modo, puoi decorare ogni azione che restituisce il partial con il filtro dell'azione.Dai un'occhiata al mio post:

http://stephenwalther.com/blog/archive/2008/08/12/asp-net-mvc-tip-31-passing-data-to-master-pages-and-user-controls.aspx

Stai cercando sottocontrollori.Questa implementazione è il modo migliore per fare ciò di cui stai parlando.

Modificare:Ne ho appena parlato qui: http://mhinze.com/subcontrollers-in-aspnet-mvc/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top