我正在尝试编写一个输出图像标记的html帮助扩展。 我需要访问(在C#代码中)像Razor的@ Url.Content()帮助器,以获取当前上下文的正确URL。 如何做到这一点?
答案 0 :(得分:88)
使用以下内容模仿代码中的Url.Content。
VirtualPathUtility.ToAbsolute("~/url/");
答案 1 :(得分:40)
您可以通过传递相应的UrlHelper
来创建自己的ViewContext
实例。例如,要从图像助手执行此操作:
public static string CustomImage(this HtmlHelper html)
{
var Url = new UrlHelper(html.ViewContext.RequestContext);
}
此时,您可以拨打Url.Content()
或任何其他UrlHelper
方法。
答案 2 :(得分:2)
或许这样的事情?
public static string MyHelper(this HtmlHelper h)
{
string url = h.ViewContext.HttpContext.Request.Url.AbsoluteUri;
}
答案 3 :(得分:2)
是的,你可以。
您可以致电控制器:
this.Url.Content("~/Somerelativepath?somethingelse=true");
答案 4 :(得分:0)
是的,使用此代码将url.content添加到您的代码中 这是工作,兄弟和兄弟
[样品] var img_btn_edit = VirtualPathUtility.ToAbsolute(“〜/ Content / images / pencil.png”);
答案 5 :(得分:-1)
您可以访问Request对象,从而得到如下URL:
string fullUrl = HttpContext.Current.Request.Url.AbsoluteUri;