我的ASP.NET MVC应用程序将一个名为“Asset”的路由添加到RouteTable
,我有一个静态方法。
此静态方法需要能够生成应用程序“Asset”路径的URL。
我该怎么做?
答案 0 :(得分:17)
假设您的代码在http请求的上下文中运行,您可以从静态方法执行以下操作:
new UrlHelper(HttpContext.Current.Request.RequestContext);
答案 1 :(得分:0)
助手类:
public static class UrlHelper
{
private static System.Web.Mvc.UrlHelper _urlHelper;
public static System.Web.Mvc.UrlHelper GetFromContext()
{
if (_urlHelper == null)
{
if (HttpContext.Current == null)
{
throw new HttpException("Current httpcontext is null!");
}
if (!(HttpContext.Current.CurrentHandler is System.Web.Mvc.MvcHandler))
{
throw new HttpException("Type casting is failed!");
}
_urlHelper = new System.Web.Mvc.UrlHelper(((System.Web.Mvc.MvcHandler)HttpContext.Current.CurrentHandler).RequestContext);
}
return _urlHelper;
}
}
致电:
UrlHelper.GetFromContext().Action("action", "controller");