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

我试图找到从页面对象确定页面URL。 看来你只能获得当前上下文的路径。

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

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

希望其中一个能帮到你。

了解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

它应该可以通过

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

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

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