Suponha que eu tenha esta visão parcial:
Your name is <strong>@firstName @lastName</strong>
que pode ser acessado por meio de uma ação apenas infantil, como:
[ChildActionOnly]
public ActionResult FullName(string firstName, string lastName)
{
}
E eu quero usar essa visão parcial dentro de outra visão com:
@Html.RenderPartial("FullName")
Em outras palavras, eu quero ser capaz de passar firstName e lastName da visualização para a visualização parcial. Como devo fazer isso?
asp.net-mvc
asp.net-mvc-3
model-view-controller
controller
asp.net-mvc-partialview
Saeed Neamati
fonte
fonte
Respostas:
Use esta sobrecarga (
RenderPartialExtensions.RenderPartial
no MSDN ):tão:
fonte
@Html.Partial()
é o mesmo,@{Html.RenderPartial();}
mas muito mais bonito. Eles também têm as mesmas sobrecargas.Model.firstName
e seus semelhantes lançam uma exceção queobject doesn't have a 'firstName' property
Esta é outra maneira de fazer isso se você quiser usar ViewData:
E para recuperar os valores passados:
fonte
Você precisa criar um modelo de vista. Algo assim deve servir ...
então, a partir de seu resultado de ação, passe o modelo
e você será capaz de acessar
@Model.FirstName
e de@Model.LastName
acordo.fonte
certifique-se de adicionar {} ao redor de Html.RenderPartial, como:
não
fonte
{ }
, eu perdi tempo até encontrar este artigoA seguir está funcionando para mim no dotnet 1.0.1 :
./ourView.cshtml
./_ourPartial.cshtml
fonte
Somente:
fonte