none
Cuestión con vista parcial RRS feed

  • Pregunta

  • Hola a todos tengo una pregunta que haceros para variar.

    Tengo una vista, a la que se la llama como parcial desde otras tres:

    <%: Html.Partial("ListaAvisos",Model) %>

    y necesito que sean visibles unos checkbox sólo cuando se la llame desde una vista en concreto.

    ¿Le podría pasar otro parámetro  al Html.Patial que fuera un valor para recogerlo luego en la vista ListaAvisos?

    ¿Si es así como lo recojo?

    Muchas gracias, un saludo.

    miércoles, 6 de junio de 2012 8:54

Respuestas

  • Buenas!

    Puedes pasar un valor al ViewData de la vista parcial que le indique si debe o no mostrar los datos:

    <%= Html.Partial("Partial", Model,  new ViewDataDictionary() { {"a", ViewData["a"]}, { "MostrarChecks", true } }) %>

    Debes tener presente que las vistas parciales NO comparten el ViewData de las vistas "padres". P.ej. en este código:

    • Estoy pasando el valor de ViewData["a"] a la vista parcial (con la key a)
    • Estoy pasando true a la vista parcial (con la key MostrarChecks).

    Así desde la vista parcial puedo usar ViewData["MostrarChecks"] y saber si debo o no mostrar dichas checks.

    Por supuesto, el valor de MostrarChecks lo podría pasar el controlador a la vista principal a través de ViewData si la lógica de decidir cuando mostrar o no las checks la quieres tener en los controladores.

    Un saludo!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    • Marcado como respuesta Carlos787 sábado, 9 de junio de 2012 17:09
    miércoles, 6 de junio de 2012 9:11

Todas las respuestas

  • Buenas!

    Puedes pasar un valor al ViewData de la vista parcial que le indique si debe o no mostrar los datos:

    <%= Html.Partial("Partial", Model,  new ViewDataDictionary() { {"a", ViewData["a"]}, { "MostrarChecks", true } }) %>

    Debes tener presente que las vistas parciales NO comparten el ViewData de las vistas "padres". P.ej. en este código:

    • Estoy pasando el valor de ViewData["a"] a la vista parcial (con la key a)
    • Estoy pasando true a la vista parcial (con la key MostrarChecks).

    Así desde la vista parcial puedo usar ViewData["MostrarChecks"] y saber si debo o no mostrar dichas checks.

    Por supuesto, el valor de MostrarChecks lo podría pasar el controlador a la vista principal a través de ViewData si la lógica de decidir cuando mostrar o no las checks la quieres tener en los controladores.

    Un saludo!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    • Marcado como respuesta Carlos787 sábado, 9 de junio de 2012 17:09
    miércoles, 6 de junio de 2012 9:11
  • Al final no me funcionó de esta manera (Aunque debería), puse un viewdata en el controlador y en cada vista....

    Gracias, un saludo.

    sábado, 9 de junio de 2012 17:09