none
Como generar o mostrar una vista parcial dinamicamente en MVC 4 RRS feed

  • Pregunta

  • Hola, tengo 2 preguntas o casos

    1)
    Tengo una aplicación ASP.Net la cual tiene 2 UserControls:
    ucPublicacionesGaleria.ascx
    ucPublicacionesListado.ascx

    Estos user control tienen una misma propiedad:
    public Entity Data { get; set; }

    Cuando la pagina carga se lee un querystring y dependiendo de un valor se carga un UserControl u otro... Basicamente muestra la misma data solo que con otro estilo.

    if(QueryString["style"] == "galeria")
    // Cargo ucPublicacionesGaleria.ascx
    else
    // ucPublicacionesListado.ascx

    Quiero hacer esto mismo en MVC, cree dos vistas parciales
    _PublicacionesGaleriaPartial.cshtml
    _PublicacionesListadoPartial.cshtml

    La cual cargo desde mi View:

    @Html.Partial("../Controls/_PublicacionesGaleriaPartial", Model.Products)

    El problema esta en que no se como desde la vista puedo identificar la vista parcial que debo mostrar?


    2)
    En esa misma pagina que mostre arriba, tiene un buscador, dependiendo de los registros encontrados bajo ciertos criterios es posible que cargue un UserControl a control Panel..
    if (Cristerio)
    -- Genero Control y Cargo a panel1.Add(userControl);

    En MVC como pudiera lograr algo similar?

    Gracias

    martes, 24 de septiembre de 2013 18:10

Respuestas

  • El problema esta en que no se como desde la vista puedo identificar la vista parcial que debo mostrar?

    podrias desde el action del controlador enviar algun valor en el model que asignes a la vista o quizas en el ViewBag

    para indicarle a la view que partial debe cargar entonces harias

    @if(ViewBag.MostrarGaleria){

       @Html.Partial("../Controls/_PublicacionesGaleriaPartial", Model.Products)

    }else{

       @Html.Partial("../Controls/_PublicacionesListadoPartial", Model.Products)

    }

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Zr-.- miércoles, 25 de septiembre de 2013 15:53
    martes, 24 de septiembre de 2013 18:59

Todas las respuestas

  • El problema esta en que no se como desde la vista puedo identificar la vista parcial que debo mostrar?

    podrias desde el action del controlador enviar algun valor en el model que asignes a la vista o quizas en el ViewBag

    para indicarle a la view que partial debe cargar entonces harias

    @if(ViewBag.MostrarGaleria){

       @Html.Partial("../Controls/_PublicacionesGaleriaPartial", Model.Products)

    }else{

       @Html.Partial("../Controls/_PublicacionesListadoPartial", Model.Products)

    }

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Zr-.- miércoles, 25 de septiembre de 2013 15:53
    martes, 24 de septiembre de 2013 18:59
  • Gracias, si funciono sin problema alguno!!!
    miércoles, 25 de septiembre de 2013 15:53