有一些方法,如MVC4中的UrlHelper类中的以下内容
public string Action(string actionName, object routeValues);
public string Action(string actionName, RouteValueDictionary routeValues);
...但我希望在每个Action方法调用中更改路由值
为此我写了CustomUrlHelper
类,如下所示:
public class CustomUrl : UrlHelper
{
public CustomUrl()
: base(HttpContext.Current.Request.RequestContext,RouteTable.Routes){}
public string CustomAction(string actionName, string controllerName, string areaName, object routeValues, bool generateToken)
{
RouteValueDictionary rvd = new RouteValueDictionary(routeValues);
//some changes on route value dictionary
return Action(actionName,controllerName, rvd);
}
}
如果我们知道动作名称控制器名称比一切都好,但是如果我们只知道基本URL和路由值字典比我的CustomAction
方法不起作用。
如果我只有像A / B / C / D和RouteValueDictionary
这样的链接库,那就说吧。
现在我想要一个获得baseUrl
和RouteValueDictionary
的方法,并生成完整的链接。