从另一个页面获取代码隐藏中的ASP.Net页面的URL

时间:2009-03-16 16:22:25

标签: c# asp.net

我正试图找到从页面对象确定页面URL。看来你只能得到当前环境的路径。

4 个答案:

答案 0 :(得分:2)

一个页面可以有多个网址。例如,我有一个在家运行的服务器,该网站的网址是不同的,具体取决于我检查它的位置。当我在家时,我只使用内部服务器名称,以便流量永远不会离开我的家庭网络。当我在其他地方时,我必须使用基于dyndns.org的网址。我还可以配置几个不同的站点,所有站点指向同一个地方。关键是这些信息与您网页的类类型甚至特定实例无关。

因此,页面的网址只能在每个请求的基础上确定,当然,您可以通过查看Request.Url

来获取该网页的网址

答案 1 :(得分:1)

希望其中一个能帮到你。

Understanding Paths in ASP.NET

表达 - 评估

this.TemplateSourceDirectory - / informit / subdir

Request.MapPath(“log.txt”) - c:\ mywebdirs \ informit \ subdir \ log.txt

this.MapPathSecure(“log.txt”) - c:\ mywebdirs \ informit \ subdir \ log.txt

Request.Path - /informit/subdir/pathsample.aspx/extra

Request.FilePath - /informit/subdir/pathsample.aspx

Request.CurrentExecutionFilePath - /informit/subdir/pathsample.aspx

Request.PathInfo - / extra

Request.PhysicalPath - c:\ mywebdirs \ informit \ subdir \ pathsample.aspx

Request.PhysicalApplicationPath - c:\ mywebdirs \ informit \

Request.ApplicationPath - / informit

Request.Url - http://localhost/informit/subdir/client.aspx/extra

Request.RawUrl - /informit/subdir/pathsample.aspx/extra

Response.ApplyAppPathModifier(“foo.aspx”) - /informit/subdir/foo.aspx

this.ResolveUrl(“〜/ client.aspx”) - /informit/pathsample.aspx

答案 2 :(得分:0)

应该可以通过

获得

string currentUrl = Page.Request.Url.ToString();

答案 3 :(得分:0)

如果您要查找的页面与当前页面或其子目录位于同一目录中,则可以使用以下内容(根据需要将子目录页面添加到字符串中):

string targetUrl =  HttpContext.Current.Request.Url.Scheme
                 + "://"
                 + HttpContext.Current.Request.Url.Authority
                 + this.TemplateSourceDirectory + "/Page.aspx";