/// <summary> /// 生成页面的Url /// </summary> /// <param name="param"></param> /// <param name="value"></param> /// <returns>navigated url for pager item</returns> public static string GenerateUrl(this HtmlHelper html, string param, string value) { var routeValues = new RouteValueDictionary(html.ViewContext.RouteData.Values); var rq = HttpContext.Current.Request.QueryString; if (rq != null && rq.Count > 0) { foreach (string key in rq.Keys) { if (key != param && string.IsNullOrEmpty(rq[key]) == false && rq[key] != ",") { if (rq[key].IndexOf(",") > -1) { routeValues.AddArrayValue(rq[key].Split(','), key); } else { routeValues[key] = rq[key]; } } } } routeValues[param] = value; // Add action //routeValues["action"] = html.ViewContext.RouteData.Values["action"]; // Add controller //routeValues["controller"] = html.ViewContext.RouteData.Values["controller"]; // Return link var urlHelper = new UrlHelper(html.ViewContext.RequestContext); //if (!string.IsNullOrEmpty(_routeName)) // return urlHelper.RouteUrl(_routeName, routeValues); return(urlHelper.RouteUrl(routeValues)); }