Ich möchte eine Route von einer Dienstprogrammklasse erstellen, die keinen Zugriff auf einen ViewContext hat.Wie konstruiere ich eine Route ohne ViewContext in ASP.NET MVC?
Ist das möglich? Es scheint kein Äquivalent von ViewContext.Current
Ich habe versucht, Angeln in allen Konstruktoren für Routing und HttpContext, aber kann nicht ganz bekommen, was ich will.
Dies ist, was ich suche - obwohl dies nicht funktioniert, weil RouteTable.Routes
vom Typ RouteCollection
und nicht RouteData
ist. So nah - und doch so weit :-)
RequestContext requestContext = new RequestContext(HttpContext.Current, RouteTable.Routes);
UrlHelper url = new UrlHelper(requestContext);
var urlString = url.RouteUrl(new {controller="DynamicImage", action="Button", text="Hello World"});
Hinweis: RequestContest ist vom Typ System.Web.Routing.RequestContext und nicht Httpcontext
ich war überrascht, dass das tatsächlich funktioniert. Ich bin mir nur noch nicht sicher, was die Implikationen eines leeren RouteData() - Objekts sind. Vielleicht nutzt es die aktuelle Route als Basis für die neue Route? Weiß jemand? –
Ich habe meine Antwort aktualisiert –
eu-ge-ne = ge-ni-us, vielen Dank –