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 );
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)