Woher wissen Controller, welche Ansichten zurückgegeben werden sollen? Ich dachte, es wäre nach Namenskonvention, aber ich habe Instanzen gesehen, zum Beispiel in der Nerd-Dinner-Anwendung, wo die Namen nicht übereinstimmen. Wo oder wie sehe ich diese Zuordnung? Vielen Dank.asp.net mvc - Ansichten und Controller
Antwort
public class EmployeesController
{
public ViewResult Index()
{
return View("CustomerName");
}
}
Wird für die Suche:
Views/Employees/CustomerName.aspx
Views/Employees/CustomerName.ascx
Views/Shared/CustomerName.aspx
Views/Shared/CustomerName.ascx
so ziemlich ist es ..
Wenn Sie gerade Ansicht zurückzukehren(); Ohne einen Namen anzugeben, wurde nach der Ansicht mit demselben Namen wie die Kontrollfunktion gesucht. In diesem Fall Index.aspx
Es basiert auf dem Namen der Aktion im Controller. Hier ist ein Beispiel:
Ich habe einen Controller namens UserController.
Eine meiner Aktionen auf diesem Controller heißt Index.
Wenn ich sage, Rückkehr View();
Es ist in den Ansichten Verzeichnis aussehen wird, im Benutzerordner, für Index.aspx oder Index.ascx
Es wird auch im freigegebenen Ordner suchen.
Es gibt drei Möglichkeiten, einen Ansichtsnamen anzugeben.
Durch Konvention
public ActionResult MyAction {
return View()
}
, die für eine Ansicht mit dem Namen der Aktion Methode aussehen wird, auch bekannt als "MyAction.ascx" oder "MyAction.aspx"
** Von Namen * *
public ActionResult MyAction {
return View("MyViewName")
}
für eine Ansicht Dies wird sich den Namen "MyViewName.ascx" oder "MyViewName.aspx".
** Von Anwendungspfad **
public ActionResult MyAction {
return View("~/AnyFolder/MyViewName.ascx")
}
Dieses letzte man nur in diesem einen Ort sucht, der Ort, den Sie angaben.
- 1. ASP.Net MVC zufällig, Controller und Ansichten
- 2. Wie verbindet ASP.NET MVC Ansichten und Controller?
- 3. IoC und ASP.NET MVC Ansichten
- 4. Asp.Net MVC Controller und Ansicht
- 5. Verschiedene Ansichten der gleichen Controller in ASP.NET MVC zurück
- 6. asp.net mvc suche und bearbeite Ansichten
- 7. Wiederverwendung ASP.NET MVC Views & Controller
- 8. ASP.NET MVC Hinzufügen Controller deaktiviert
- 9. ASP.NET MVC Routing Root Level Ansichten
- 10. Leerzeichen in asp.net MVC Ansichten
- 11. asp.net Mvc generic/benutzerdefinierte Ansichten
- 12. ASP.NET MVC: Strukturierende Controller
- 13. umbenennen Controller asp.net mvc
- 14. asp.net mvc generischer Controller
- 15. ASP.NET MVC und JQuery Informationen zum Controller
- 16. asp.net mvc 4 Anzeigemodi und Controller
- 17. ASP.NET MVC-Controller und das Framework erweitern
- 18. Asp.Net Mvc Account Controller JSon und View?
- 19. Ansichten in separaten Assemblys in ASP.NET MVC
- 20. Gruppierung Ansichten, Controller, Modelle in MVC
- 21. Verschiedene Ansichten vom MVC-Controller zurückgeben
- 22. EmberJS Verschachtelte Ansichten und Controller
- 23. ASP.NET MVC Kompilieren Ansichten in separaten Assemblies
- 24. Wie ändere ich mvc Ansichten vom Controller?
- 25. Gerüste Controller in ASP.NET MVC
- 26. ASP.Net MVC-Controller für _Layout
- 27. ASP.NET MVC Controller - Konstruktor Verwendung
- 28. Asp.Net Mvc Controller statischen Konstruktor
- 29. Controller für Teilansichten ASP.NET MVC
- 30. ASP.NET MVC Modellliste im Controller
Der Parameter, den Sie an View() übergeben, soll der Name sein, nach dem gesucht wird? Kann ich einem Controller auch sagen, dass er in einem bestimmten Bereich nach einer Ansicht suchen soll? – Crios
Der Parameter ist der Name der Ansicht z.B. CustomerName = Kundenname.aspx. Soweit ich weiß, sind die Locations, in die mvc schaut, hart codiert, aber Sie können sie anpassen, indem Sie eine ViewEngine entwickeln. ViewEngines.Engines.Add (neues MyCusyomViewEngine()); //Global.asax.cs –
Die Standorte sind in der Tat fest mit dem Standard-Viewengine codiert. Und der Parameter ist in der Tat der Name der Ansicht. Es wird als bewährte Methode angesehen, immer den Namen der Ansicht anzugeben, da Sie sie auf diese Weise testen können. –