Principales respuestas
Como generar o mostrar una vista parcial dinamicamente en MVC 4

Pregunta
-
Hola, tengo 2 preguntas o casos
1)
Tengo una aplicación ASP.Net la cual tiene 2 UserControls:
ucPublicacionesGaleria.ascx
ucPublicacionesListado.ascxEstos 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.ascxQuiero hacer esto mismo en MVC, cree dos vistas parciales
_PublicacionesGaleriaPartial.cshtml
_PublicacionesListadoPartial.cshtmlLa 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
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
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
-