I want to work out what the route 开发者_如何学Pythonvalues for the UrlReferrer
in the controller action would be.
I can't figure out at what part in the MVC pipeline the incoming URL is converted into RouteValues, what I'm trying to achieve is close to that.
You need call RouteTable.Routes.GetRouteData
with a mocked HttpContextBase
which returns your URL in its Request
.
The routes are matched internally using the request's AppRelativeCurrentExecutionFilePath
.
However, this functionality is not exposed, so you need to pass an HttpContextBase
.
You need to create an HttpContextBase
class which returns an HttpRequestBase
instance in its request property.
The HttpRequestBase
class needs to return your path, beginning with ~/
, in its AppRelativeCurrentExecutionFilePath
property.
You don't need to implement any other properties, unless they're used by IRouteConstraint
s.
Someone already wrote this: Creating a RouteData instance from a URL
精彩评论