Kann mir jemand über Attribut-Routing erklären. Ich habe eine Frage dazu.Attribut-Routing in MVC
Wenn ich "Nur" Attribut-Routing verwende, bekomme ich unter Fehler.
- Wenn URL ist "http://localhost:51254/":
HTTP-Fehler 403.14 - Verboten Der Web-Server so konfiguriert ist, nicht den Inhalt dieses Verzeichnisses auflisten.
- Wenn URL ist "http://localhost:51254/MyHome/HomeAction"
HTTP-Fehler 404.0 - Nicht die Ressource gefunden Sie suchen, hat entfernt, hatte seinen Namen geändert oder ist vorübergehend nicht verfügbar.
Mein Code in Controller:
[RoutePrefix("MyHome/{action}")]
public class IndexController : Controller
{
[Route("HomeAction")]
public ActionResult Index()
{
return View();
}
[Route("CallUs")]
public ViewResult ContactUs()
{
return View();
}
}
Und in RouteConfig.cs
wie folgt aussehen:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
}
}
Gibt es etwas falsch mit URL?
ich auf unterschiedliche Weise versucht, wie: http://localhost:51254/Index
http://localhost:51254/Index/Index
http://localhost:51254/HomeAction
http://localhost:51254/MyHome/HomeAction
Also, wenn ich Frage refraim dann wird es sein:
es ist verpflichtend convention based routing und objRouteCollection.mapRoute
Methode zu verwenden? weil, wenn ich MapRoute
Methode hinzufügen es funktioniert ziemlich gut.
Ich suchte, konnte aber nichts finden, das meine Frage beantwortet. Für das Beispiel msdn, c-SharpCorner
Auch wenn ich nur Attribut-Routing verwende, dann muss ich jede Aktionsmethode mit 'Route' Attribut dekorieren. –
Nicht notwendig. Sie können das Attribut-Routing und das konventionsbasierte Routing für die Aktionsmethoden eines einzelnen Controllers beliebig kombinieren.Einige Aktionsmethoden von einem Controller können Attribut-Routing haben (diese Methoden können nicht durch konventionsbasiertes Routing aufgerufen werden), und andere Aktionsmethoden desselben Controllers können durch konventionsbasiertes Routing aufgerufen werden (diese Methoden haben kein Attribut 'Route'). – Sarang