Ich arbeite derzeit an einer asp.net mvc-Anwendung mit drei UserTypes. 1) Administrator 2) Schule 3) Elternteil
Ich möchte die Url mit 3 Teilen dekorieren,
like if it is admin then -> Admin/{Controller}/{Action}/{id}
if Shcool -> School/{Controller}/{Action}/{id}
if Parent - > Parent/{Controller}/{Action}/{id}
Ich habe versucht, routeconfig.cs zu ändern wie
routes.MapRoute(
name: "Default",
url: "School/{controller}/{action}/{id}",
defaults: new { controller = "EstablishmentLogin", action = "Login", id = UrlParameter.Optional });
Es hat funktioniert, aber das Problem ist, wo immer ich Ajax Anrufe verwendet habe, muss ich das ändern URL von [{Controller} / {Action} / {id}] nach [Schule / {Controller} / {Action} / {id}].
Es wird zeitaufwendig sein, alle Ajax-Aufrufe zu finden und die URLs zu ändern. Bitte schlagen Sie mir vor, wenn es für dieses Problem eine Alternative gibt.
Also I want to Organize the folders Physically as
1)Admin -> Controllers
-> View
-> models
2)School - > Controllers
- > Views
-> Models`enter code here
3)Parent - > Controllers
- > Views
- > Models
How can i acheive this ?
Antworten:
0 für die Antwort № 1Richte sie als Bereiche ein. Rechtsklick auf dein Projekt -> Hinzufügen -> Bereich. Es wird eine Ordnerstruktur erstellt, die genau der von Ihnen in Ihrer Frage angegebenen entspricht. Der Bereich wird auch eine eigene Version von RouteConfig.cs
genannt [AreaName]AreaRegistration.cs
. Es ist wie eine Mini-MVC-Site innerhalb Ihres Hauptprojekts. Wenn Sie eine Verknüpfung zwischen Bereichen oder zwischen der Haupt-Site und einem Bereich erstellen möchten, den Sie wie ...Url.Action("Action", "Controller", new { area = "AreaName" });