/// <summary> /// 解释分隔后的URL /// </summary> /// <param name="httpContext"> </param> /// <returns> </returns> public override RouteData GetRouteData(HttpContextBase httpContext) { RouteData result = base.GetRouteData(httpContext); if (result == null) { return(null); } RouteValueDictionary dict = result.Values; foreach (string key in RequireKeys) { if (!dict.ContainsKey(key)) { continue; } object value = dict[key]; if (!(value is string)) { continue; } dict[key] = LowerCaseUrlConverter.Restore(value as string); } return(result); }
/// <summary> /// 把Url中非参数字符转换为小写分隔的形式 /// </summary> public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) { RouteValueDictionary valueDict = new RouteValueDictionary(values); foreach (string key in RequireKeys) { if (!valueDict.ContainsKey(key)) { continue; } object value = valueDict[key]; if (!(value is string)) { continue; } valueDict[key] = LowerCaseUrlConverter.Spliter(value as string); } return(base.GetVirtualPath(requestContext, valueDict)); }