Das ist machbar, wenn Sie die Möglichkeit, Ihre Routen definiert ändern. Nehmen wir an, Sie verwenden dot net 4.5.2
Werfen Sie einen Blick in RouteConfig unter App_Start.
ist eine typische Route Definition wie folgt definiert:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Nichts hält von der Route zu ändern wie folgt aussehen:
routes.MapRoute(
name: "Default",
url: "{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Wir sind im Grunde hardcoding der Controller und Aktion, um einen bestimmten Wert zu sein, so dass Sie jetzt nur URL/Parametername und es wird die hardcoded Kombination treffen.
Vor diesem Hintergrund sei ich nicht Dinge wie diese tun würde, wie es gegen die Art und Weise ist MVC
MVC Routen sind url/controller/action funktioniert. Sie können die Aktion für generische Dinge wie einen Index zum Beispiel überspringen und Ihre URL wird URL/Controller. MVC muss in der Lage sein, den Controller zu identifizieren, den Sie treffen wollen, und welche Aktion, und es ist am besten, innerhalb der Konventionen zu bleiben.
Plus, jede Anwendung wird in der Regel mehr als einen Controller haben, was eine nette Trennung von Bedenken ermöglicht. Jetzt haben Sie sich selbst mit nur einem Controller und einer Aktion fest programmiert.
Was Sie vorschlagen, kann viel einfacher in einer Webforms-Art getan werden, obwohl Sie das vielleicht untersuchen möchten.
Wenn Sie keine Routenbeschränkung erstellen, die jedes Mal nach der Datenbank sucht, wenn eine Anforderung gestellt wird (was zu einer schlechten Leistung führen würde), dann können Sie nicht. –
@StephenMuecke danke für die Antwort, ich verstehe das Leistungsproblem.Sollte ich atleast Aktion einschließen? –
Ja, Sie könnten eine Routendefinition wie 'url: Detail/{username} '' erstellen, die standardmäßig die 'Detail()' Methode in 'HomeController' ist (oder es könnte' Users/{username} 'oder irgendetwas anderes sein macht es einzigartig) –