System.Web.Routing.Route.GetVirtualPath C# (CSharp) Method

GetVirtualPath() public method

public GetVirtualPath ( System.Web.Routing.RequestContext requestContext, RouteValueDictionary values ) : System.Web.Routing.VirtualPathData
requestContext System.Web.Routing.RequestContext
values RouteValueDictionary
return System.Web.Routing.VirtualPathData
		public override VirtualPathData GetVirtualPath (RequestContext requestContext, RouteValueDictionary values)
		{
			if (requestContext == null)
				throw new ArgumentNullException ("requestContext");
			if (url == null)
				return new VirtualPathData (this, String.Empty);

			// null values is allowed.
			// if (values == null)
			// 	values = requestContext.RouteData.Values;

			string s;
			if (!url.BuildUrl (this, requestContext, values, out s))
				return null;

			return new VirtualPathData (this, s);
		}

Usage Example

        public static string LinkTo(this UrlHelper urlHelper, Route route, RouteValueDictionary routeValues)
        {
            //TODO: remove code dupe see HtmlLinkToExtensions
            var requestCtx = urlHelper.RequestContext;
            var httpCtx = requestCtx.HttpContext;

            if (routeValues != null)
            {
                foreach (var d in route.Defaults)
                {
                    if (!routeValues.ContainsKey(d.Key))
                        routeValues.Add(d.Key, d.Value);
                }
            }
            else
            {
                routeValues = route.Defaults;
            }

            VirtualPathData vpd = route.GetVirtualPath(requestCtx, routeValues);
            if (vpd == null)
                return null;

            return httpCtx.Request.ApplicationPath + vpd.VirtualPath;

        }
All Usage Examples Of System.Web.Routing.Route::GetVirtualPath