Saltar al contenido

MVC 4: ¿cómo paso los datos del modelo a una vista parcial?

Solución:

En realidad, no está pasando el modelo al parcial, está pasando un new ViewDataDictionary<LetLord.Models.Tenant>(). Prueba esto:

@model LetLord.Models.Tenant
<div class="row-fluid">
    <div class="span4 well-border">
         @Html.Partial("~/Views/Tenants/_TenantDetailsPartial.cshtml", Model)
    </div>
</div>

Además, esto podría hacer que funcione:

@{
Html.RenderPartial("your view", your_model, ViewData);
}

o

@{
Html.RenderPartial("your view", your_model);
}

Para obtener más información sobre RenderPartial y ayudantes HTML similares en MVC, consulte este popular hilo de StackOverflow

Tres formas de pasar los datos del modelo a la vista parcial (puede haber más)

Esta es la página de vista

Método uno Rellenar a la vista

@{    
    PartialViewTestSOl.Models.CountryModel ctry1 = new PartialViewTestSOl.Models.CountryModel();
    ctry1.CountryName="India";
    ctry1.ID=1;    

    PartialViewTestSOl.Models.CountryModel ctry2 = new PartialViewTestSOl.Models.CountryModel();
    ctry2.CountryName="Africa";
    ctry2.ID=2;

    List<PartialViewTestSOl.Models.CountryModel> CountryList = new List<PartialViewTestSOl.Models.CountryModel>();
    CountryList.Add(ctry1);
    CountryList.Add(ctry2);    

}

@{
    Html.RenderPartial("~/Views/PartialViewTest.cshtml",CountryList );
}

Método dos
Pasar a través de ViewBag

@{
    var country = (List<PartialViewTestSOl.Models.CountryModel>)ViewBag.CountryList;
    Html.RenderPartial("~/Views/PartialViewTest.cshtml",country );
}

Método tres
pasar a través del modelo

@{
    Html.RenderPartial("~/Views/PartialViewTest.cshtml",Model.country );
}

ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *