Comment les contrôleurs connaissent-ils les vues à renvoyer? Je pensais que c'était en nommant la convention, mais j'ai vu des exemples, par exemple dans l'application Nerd Dinner, où les noms ne correspondent pas. Où et comment voir cette cartographie? Merci.asp.net mvc - Vues et contrôleurs
Répondre
public class EmployeesController
{
public ViewResult Index()
{
return View("CustomerName");
}
}
recherchera:
Views/Employees/CustomerName.aspx
Views/Employees/CustomerName.ascx
Views/Shared/CustomerName.aspx
Views/Shared/CustomerName.ascx
C'est à peu près tout ..
Lorsque vous revenez juste vue(); sans spécifier de nom, il a recherché la vue avec le même nom que le controlleraction. Dans ce cas, Index.aspx
Il est basé sur le nom de l'action dans le contrôleur. Voici un exemple:
J'ai un contrôleur nommé UserController.
L'une de mes actions sur ce contrôleur s'appelle Index.
Quand je dis retourner View();
Il regardera dans le répertoire des vues, dans le dossier utilisateur, pour Index.aspx ou Index.ascx
Il se penchera également dans le dossier partagé.
Il existe trois façons de spécifier un nom de vue.
Par convention
public ActionResult MyAction {
return View()
}
Ce cherchera une vue avec le nom de la méthode d'action, alias "MyAction.ascx" ou "MyAction.aspx"
** Par Nom * *
public ActionResult MyAction {
return View("MyViewName")
}
Ceci recherchera une vue nommée "MyViewName.ascx" ou "MyViewName.aspx".
** Par chemin d'application **
public ActionResult MyAction {
return View("~/AnyFolder/MyViewName.ascx")
}
Ce dernier ne regarde que dans ce seul endroit, l'endroit que vous avez spécifié.
- 1. ASP.NET MVC Beta - Grouper les contrôleurs et les vues possibles?
- 2. Contrôleurs IoC et ASP.NET MVC
- 3. Retour des données des contrôleurs aux vues dans asp.net mvc
- 4. Vues IoC et ASP.NET MVC
- 5. Contrôleurs ASP.NET MVC et extension du cadre
- 6. Contrôleurs de plugins, StructureMap et ASP.NET MVC
- 7. validation ASP.NET MVC et des vues
- 8. ASP.NET MVC: Structurer les Contrôleurs
- 9. ASP.NET MVC - Travail des contrôleurs
- 10. Comment placer les contrôleurs et les vues associées dans des dossiers distincts dans ASP.NET MVC
- 11. UIToolBar single Contrôleurs de vue et contrôleurs de vues multiples
- 12. ASP.NET MVC: constructeurs de contrôleurs
- 13. Vues complexes ASP.NET MVC
- 14. Vues partielles ASP.Net MVC et jqGrid
- 15. asp.net mvc rechercher et éditer des vues
- 16. autorisations utilisateur asp.net mvc et vues
- 17. ASP.Net MVC Stongly Vues typées
- 18. Comment nommer les contrôleurs Asp.net Mvc?
- 19. ASP.NET MVC Globalisation des Vues
- 20. asp.net mvc vues génériques/personnalisés
- 21. asp.net application mvc - charger/remplacer les vues, les contrôleurs, les fichiers JS des assemblys de plugins
- 22. ASP.NET MVC 2 Comment sont les urls/routes, les vues liées aux contrôleurs?
- 23. Sous-dossiers dans les contrôleurs et les vues
- 24. ASP.NET MVC et WCF
- 25. asp.net mvc avec des paramètres facultatifs et des vues partielles
- 26. Utilisation des vues partielles dans ASP.NET MVC
- 27. ASP.NET MVC Agrégation CSS/JS à partir de plusieurs contrôleurs
- 28. iPhone façonné à la main vues/contrôleurs
- 29. des espaces dans les vues asp.net mvc
- 30. Données partagées dans les vues ASP.NET MVC
Le paramètre que vous transmettez à View(), est-ce que c'est le nom qu'il va chercher? Aussi, y a-t-il un moyen de dire à un contrôleur de rechercher une vue dans une zone spécifique? – Crios
Le paramètre est le nom de la vue, par ex. CustomerName = CustomerName.aspx. Pour autant que je sache, les endroits où mvc regarde est codé en dur, mais vous pouvez le personnaliser en développant un ViewEngine. ViewEngines.Engines.Add (nouveau MyCusyomViewEngine()); //Global.asax.cs –
les emplacements sont en effet codés en dur avec le viewengine par défaut. Et le paramètre est en effet le nom de la vue. Il est recommandé de toujours spécifier le nom de la vue, car vous pouvez le tester de manière unitaire. –