2010-09-11 10 views
2

Je voudrais avoir ces deux points de vue:emplacement de vue pour une vue partielle dans ASP.NET MVC

  • ~/Vues/client/Index. aspx
  • ~/Vues/Client/Index. ascx

Je voudrais installer mon site MVC de sorte que lorsque j'appelle return View(viewModel) de la méthode d'action CustomerController.Index(), qu'il recherche le ASPX fichier, mais si je l'appelle return PartialView(viewModel) qu'il recherche la ascx fichier.

Je crois que la magie implique sous-classement ViewEngine et ControllerFactory (de sorte que le ViewLocator.ViewLocationFormats peut être modifié), mais je veux vérifier que je ne suis pas trop de cette solution.

Quelqu'un a-t-il une expérience avec ceci?

+0

Désolé pour ne pas être en mesure de fournir une réponse, mais ce qui est PartialView() il y a de toute façon? Je pensais que le but était de fournir la fonctionnalité que vous essayez d'atteindre. –

+2

Pourquoi ne pas simplement les appeler des noms différents? – JcMaltaDev

+1

Je seconde la suggestion de JcMalta. Vous préférez probablement renommer Index.ascx en quelque chose comme IndexPartial.ascx. Pourquoi réinventer la roue si vous retournez une vue partielle de toute façon? –

Répondre

0

override WebFormsViewEngine et réimplémenter ViewLocationFormats et/ou PartialViewLocationFormats

Questions connexes