没有ASP.NET页面的ResolveUrl如何实现?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

我正在寻找一种方法来解决页面或控件实例(MSDN文档)的方式,如:

Page.ResolveUrl("~/common/Error.aspx");

但是当我只有一个HttpContext可用时,例如当我在HttpHandler中时。

我是否需要使用自定义函数,例如这里看到的函数?

或者有没有办法让页面使用的基础功能。

提问于
用户回答回答于

尝试从处理程序中获取页面并使用ResolveUrl,或创建一个Control对象...

(HttpContext.Current.Handler as Page).ResolveUrl("~/virtualpath");

或使用VirtualPathUtility.ToAppRelative(string)VirtualPathUtility.ToAbsolute(string)

例如:

System.Web.VirtualPathUtility.ToAbsolute("~/Styles/Contoso.xslt");

返回

/WebSite/Styles/Contoso.xslt
用户回答回答于

扫码关注云+社区