2011-08-25 11 views
1

Dans mon asp.net application MVC3 j'ai créé deux vues partielles pour deux actions différentes qui, PartialViewResult setComment et PartialViewResult getCommentvue partielle en MVC3

j'ai créé une vue partielle à l'aide de créer une forte tape Voir et modèle d'échafaudage différent pour _setcomment J'utilise créer un modèle et pour _getcomment j'utilise le modèle de liste.

Maintenant, je veux appeler à la fois _setcomment et _getcomment vue partielle dans une vue.

dans mon dossier de vue .cshtml

_setcomment - 
      @model <NAMESPACE>.<MODELNAME> 
      <some code> 
_getcomment - 
      @model IEnumerable<<NAMESPACE>.<MODELNAME>> 
      <some code> 

Comment puis-je appeler une vue partielle diiferent dans une vue? des suggestions?

Répondre

0

Il existe différentes façons de le faire.

Si vous avez déjà les données de classe modèle dans la vue principale, vous pouvez utiliser comme Dans l'écran principal appel

@Html.Partial("PartialViewName1",model1) 
@Html.Partial("PartialViewName1",model2) 

Si vous ne possédez pas les données de classe modèle dans la vue de messagerie, vous pouvez appeler l'action sur le contrôleur et de là retourner la vue partielle.

@Html.Action("Controller","Action1") 
@Html.Action("Controller","Action2") 

Dans la classe contrôleur

PartialResult Action1() 
{ 
model = new ModelClass(); 
return PartialView(model); 
} 

Hope this helps.

0

La réponse à votre question est d'utiliser les éléments suivants dans une seule vue:

@{ Html.RenderAction("ActionName", "ControlerName"); } 
@{ Html.RenderAction("ActionName2", "ControlerName2"); } 

Cela ferait ce que vous essayez d'atteindre, cependant, je pense qu'il ya un problème avec la conception. Qu'essayez-vous d'accomplir?

Questions connexes