ASP.NET:如何从通用处理程序获取文件的虚拟路径?
发布时间:2020-12-16 07:09:33 所属栏目:asp.Net 来源:网络整理
导读:如何在通用.ashx处理程序中将文件的虚拟路径解析为适合浏览器的路径? 例如我想转换: ~/asp/ClockState.aspx 成 /NextAllowed/asp/ClockState.aspx 如果我是WebForm页面,我可以调用ResolveUrl: Page.ResolveUrl("~/asp/ClockState.aspx") 解析为: /NextAl
如何在通用.ashx处理程序中将文件的虚拟路径解析为适合浏览器的路径?
例如我想转换: ~/asp/ClockState.aspx 成 /NextAllowed/asp/ClockState.aspx 如果我是WebForm页面,我可以调用ResolveUrl: Page.ResolveUrl("~/asp/ClockState.aspx") 解析为: /NextAllowed/asp/ClockState.aspx 但我不是WebForm页面,我是一个通用的处理程序.你知道,IHttpHandler对象注入了各种各样的东西: public class ResetClock : IHttpHandler { public void ProcessRequest (HttpContext context) { //[process stuff] //Redirect client context.Response.Redirect("~/asp/ClockState.aspx",true); } public bool IsReusable { get { return false; } } } 解决方法
您可以使用VirtualPathUtility类来执行此操作.这包含使用路径的各种方法.你需要的是ToAbsolute(),它将相对路径转换为绝对路径.
var path = VirtualPathUtility.ToAbsolute("~/asp/ClockState.aspx"); 但是,您仍然可以在Response.Redirect调用中使用代字号,因此以下内容仍然有效: Response.Redirect("~/asp/ClockState.aspx"); 在使用Response.Redirect之前,您无需将URL转换为绝对路径. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET GridView利用PagerTemplate自定义分页
- asp.net-mvc-3 – CSS3 @ font-face休息Razor解析器 – 它可
- asp.net-mvc – 获取VS2010,特别是Razor视图,将自定义“dat
- asp.net-mvc – 在ASP.NET MVC中,<%=和<%:?有什么区别
- asp.net 将一个图片以二进制值的形式存入Xml文件中的实例代
- 详解Asp.net web.config customErrors 如何设置
- asp.net – MS Web部署跳过删除规则不跳过
- ASP.NET Web.Config转换问题
- 深入研究 Mini ASP.NET Core(迷你 ASP.NET Core),看看 A
- asp.net mvc c#tooltip