Entschuldigen Sie die Anfängerfrage, aber wie Sie sehen, erscheint der Controllername zweimal in der URL und funktioniert nur, wenn er zweimal in der URL vorkommt: URL
So sieht mein Controller aus: Controller-Aktion
Und hier ist meine Ansicht:
Ich weiß, dass es nicht an meinem Routing liegt, denn wenn ich eine andere Ansicht erstelle, funktioniert das Routing einwandfrei. Wenn ich einfachhttp://localhost:50903/Benutzerdann erscheint ein leerer Bildschirm. Ich denke, dass es aufgrund des Try-Catch-Blocks null zurückgibt, aber wenn es die Funktion aufruft, geht es in UserDao folgendermaßen weiter:
Und dies ist die gespeicherte Prozedur, die aufgerufen wird:
Bitte helft mir, ich werde verrückt
Antwort1
Haben Sie einen Bereich in Ihrer Anwendung erstellt? Denn wenn Sie einen Bereich erstellt und darin einen Benutzercontroller-Ordner platziert haben, können Sie den Controller-Namen zweimal erhalten. Und wie ich Ihre URL sehen kann, zeigt sie, dass Ihr erster Controller-NameBenutzerist klein geschrieben, weil wir Bereiche beim Erstellen meistens klein schreiben.
Der Name des Benutzercontrollers erscheint zweimal in der URL, da er den Bereichsnamen in der URL enthält, wie unten gezeigt:
routes.MapRoute(
name: "user_route",
template: "{area:required}/{controller:required}/{action}/{id?}",
defaults: new { area = "users", controller = "Users"
});
Bereich aus Route entfernen.
routes.MapRoute(
name: "user_route",
template: "{controller:required}/{action}/{id?}",
defaults: new { controller = "Users", action = "Index"
});
Dadurch erscheint Ihr Controllername nur einmal in der URL.
Notiz: Dies ist nur sinnvoll, wenn Sie in Ihrer Anwendung einen Bereich erstellt haben. Wenn Sie keinen Bereich erstellt haben, lassen Sie es mich wissen, wir finden eine andere Lösung dafür.
Ich hoffe, das hilft Ihnen weiter.
Danke.
Antwort2
Ich habe herausgefunden, was falsch war. Ich musste den Namen meines Controllers ändern, damit er richtig funktionierte. Meine Anwendung war möglicherweise verwirrt, weil der Controllername mit dem Namen einer Ansicht identisch war.