我想从非页面上下文(例如 Global.asax(HttpApplication)、HttpModule、HttpHandler 等)中解析“~/whatever”,但只能找到特定于控件(和页面)的解析方法。
我认为该应用程序应该具有足够的知识,以便能够将其映射到页面上下文之外。不?或者至少对我来说它应该可以在其他情况下解决,无论应用程序根目录在哪里。
更新 :原因是我在 web.configuration 文件中粘贴了“~”路径,并希望从上述非控制场景中解决它们。
更新 2:我正在尝试将它们解析为网站根目录,例如 Control.Resolve(..) URL 行为,而不是文件系统路径。
最佳答案
答案如下:
ASP.Net: Using System.Web.UI.Control.ResolveUrl() in a shared/static function
string absoluteUrl = VirtualPathUtility.ToAbsolute("~/SomePage.aspx");
关于asp.net-2.0 - 如何在不存在控件的情况下将 ASP.NET "~"应用程序路径解析到网站根目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589542/