我正试图找到从页面对象确定页面URL。看来你只能得到当前环境的路径。
答案 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";