谁能帮助我在获得ASP当前工作页面的URL。NET在c# ?
当前回答
给那些需要全局路径/url的人一个提示。asax文件;
如果你需要全局运行。asax > Application_Start和你的应用池模式是集成的,然后你会收到以下错误:
请求在此上下文异常中不可用 Application_Start。
在这种情况下,你需要使用这个:
System.Web.HttpRuntime.AppDomainAppVirtualPath
希望能帮助别人。
其他回答
试试这个:
string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx
string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx
string host = HttpContext.Current.Request.Url.Host;
// localhost
给那些需要全局路径/url的人一个提示。asax文件;
如果你需要全局运行。asax > Application_Start和你的应用池模式是集成的,然后你会收到以下错误:
请求在此上下文异常中不可用 Application_Start。
在这种情况下,你需要使用这个:
System.Web.HttpRuntime.AppDomainAppVirtualPath
希望能帮助别人。
有时可能需要从URL获取不同的值。
下面的例子展示了提取URL不同部分的不同方法
示例:(示例URL)
http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2
CODE
Response.Write("<br/>Host " + HttpContext.Current.Request.Url.Host);
Response.Write("<br/>Authority: " + HttpContext.Current.Request.Url.Authority);
Response.Write("<br/>Port: " + HttpContext.Current.Request.Url.Port);
Response.Write("<br/>AbsolutePath: " + HttpContext.Current.Request.Url.AbsolutePath);
Response.Write("<br/>ApplicationPath: " + HttpContext.Current.Request.ApplicationPath);
Response.Write("<br/>AbsoluteUri: " + HttpContext.Current.Request.Url.AbsoluteUri);
Response.Write("<br/>PathAndQuery: " + HttpContext.Current.Request.Url.PathAndQuery);
输出
Host: localhost
Authority: localhost:60527
Port: 60527
AbsolutePath: /WebSite1test/Default2.aspx
ApplicationPath: /WebSite1test
AbsoluteUri: http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString1=2
PathAndQuery: /WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2
你可以复制粘贴上面的示例代码,并在asp.net web表单应用程序中使用不同的URL运行它。
我也推荐阅读ASP。如果你可能使用ASP路由,那么你不需要使用传统的URL与查询字符串。
http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx
如果您只想要http://和第一个斜杠之间的部分
string url = Request.Url.Host;
如果从此页调用将返回stackoverflow.com
下面是完整的分析
请求。Rawurl会给出当前页面的内容 它给出了您需要的确切路径
使用HttpContext.Current.Request.RawUrl
推荐文章
- .NET中的Map和Reduce
- 我如何能使一个组合框不可编辑的。net ?
- .NET反射的成本有多高?
- 实体框架回滚并移除不良迁移
- 将流转换为字符串并返回
- 在c#中检查字符串是否只包含数字的最快方法
- IEquatable和重写Object.Equals()之间的区别是什么?
- 创建一个堆栈大小为默认值50倍的线程有什么危险?
- 转换JSON字符串到JSON对象c#
- 显示两个datetime值之间的小时差值
- 如何设置enum为空
- IIS7部署-重复` system.web。扩展/脚本/ scriptResourceHandler”部分
- 如何用msbuild发布Web ?
- 选择Enum类型的默认值而无需更改值
- 我如何设置在一个组合框中选择的项目,以匹配我的字符串使用c# ?