Supongamos que tengo esta vista parcial:
Your name is <strong>@firstName @lastName</strong>
que es accesible a través de una acción solo para niños como:
[ChildActionOnly]
public ActionResult FullName(string firstName, string lastName)
{
}
Y quiero usar esta vista parcial dentro de otra vista con:
@Html.RenderPartial("FullName")
En otras palabras, quiero poder pasar firstName y lastName de vista a vista parcial. ¿Cómo debo hacer eso?
Respuestas:
Utilice esta sobrecarga (
RenderPartialExtensions.RenderPartial
en MSDN ):entonces:
fuente
@Html.Partial()
es igual que@{Html.RenderPartial();}
pero mucho más bonito. También tienen las mismas sobrecargas.Model.firstName
y sus similares arrojan una excepción queobject doesn't have a 'firstName' property
Aquí hay otra forma de hacerlo si desea utilizar ViewData:
Y para recuperar los valores pasados:
fuente
Necesita crear un modelo de vista. Algo como esto debería hacer ...
luego, desde el resultado de su acción, pase el modelo
y podrá acceder
@Model.FirstName
y en@Model.LastName
consecuencia.fuente
asegúrese de agregar {} alrededor de Html.RenderPartial, como:
no
fuente
{ }
, perdí el tiempo hasta que encontré este artículoLo siguiente me funciona en dotnet 1.0.1 :
./ourView.cshtml
./_ourPartial.cshtml
fuente
Sólo:
fuente