Nancy Umleitung auf der route unter dem aktuellen Modul
Muss ich für die Umleitung an einen Pfad an, unter dem aktuellen Modul:
modulePath = "/test";
Get["/there"] = ...
Get["/here"] = routeParams => { return ????????????("/there"); }
Erwarte ich "/test/hier" weiterleiten nach "/test/es"
return Response.AsRedirect("/test/there");
- ist es möglich dies zu tun, ohne die Angabe der Modul-Pfad? ("/test")
- Nein, es ist nicht möglich.
- könnten Sie das als Antwort, damit es markiert werden können? (nicht als Kommentar)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie benannte Routen und Nancy.Linker. Sehen https://github.com/horsdal/Nancy.Linker
Installieren
Nancy.Linker
aus NuGet, eine AbhängigkeitIResourceLinker
und ändern Sie den code:Könnten Sie meine BaseModule. Es wird lassen Sie, organisieren Sie Ihre web-app in lose gekoppelten Einheiten mit zugehörigen Elemente in denselben Ordner: Module, Ansichten, statische Ressourcen. Erreicht wird dies durch die Registrierung der Modul-namespace (ohne Projektname) wie 1) die modulePath, 2) eine Suche nach Standort für die Ansichten und 3) eine zulässige Lage für statische Inhalte.
Als solche, Sie gehen (wieder) mit URLs, die Karte, um die Ordner-Struktur Ihres Projekts. Artikel, die Sie wahrscheinlich gemeinsam Bearbeiten und löschen zusammen, Leben zusammen. Bau-links für Dinge stark vereinfacht. Also für Ihre Umleitung, haben Sie die Ordner-Struktur
- und in deiner "hier" - Modul Sie gerade
return Response.AsRedirect("there/");
Für diese arbeiten, Module Erben sollte aus den folgenden BaseModule, und ändern Sie nicht die Standard-namespace von Module. Es maps in den Ordner.
Hier ein kleiner screenshot von meinem Projektmappen-explorer, um Sie interessiert. Da heißt alles mit relativen links, alles kann als "_". Der Speicherort wird der Bezeichner. Und es ist nicht spröde. Ordner können verschoben, umbenannt und Ineinander verschachtelt werden. Nur darauf achten, dass die namespaces entsprechen! Nancy Felsen.