从另一个页面获取代码隐藏中的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";