asp.net 中是否有一些方法可以通过无 cookie 会话获取绝对 URL?
更新:我需要创建其他新 URL。它不是请求的 URL。
我正在使用 Response.ApplyAppPathModifier 获取带有 cookie 会话的相对 URL。
提前谢谢,
asp.net 中是否有一些方法可以通过无 cookie 会话获取绝对 URL?
更新:我需要创建其他新 URL。它不是请求的 URL。
我正在使用 Response.ApplyAppPathModifier 获取带有 cookie 会话的相对 URL。
提前谢谢,
我尝试了 Request.RawUrl 和 Request.Url(以及它在即时窗口中的属性)。
没有显示设置的额外属性(web.config):
<sesionState cookieless="true" />
在网址中制作。
例子
http://localhost:2677/WebSite1/(S(3abhbgwjg33aqrt3uat2kh4d))/cookielesssessiondetection.aspx
但是,如果您在这部分之后3abhbgwjg33aqrt3uat2kh4d
,您可以通过以下方式获得它:
Session.SessionID
更新问题后更新:
我在我的测试应用程序页面上放置了一个超链接控件。在后面的代码 Page_Load 中,我添加了:
HyperLink1.NavigateUrl = Response.ApplyAppPathModifier("About.aspx");
当我运行该页面时,About.aspx 的 URL 将设置为包含无 cookie 会话部分。
当我在浏览器中检查呈现的 html 的来源时,我看到了这一点:
<a id="HyperLink1" href="/WebSite1/(S(3tzgdnmhwxmxqer10d11auuq))/About.aspx">HyperLink</a>
您是否尝试过 Request.Url.ToString()。它应该适合你。如果您需要的是您网站上另一个页面的网址,那么您可以像这样继续...
String url = new Uri(Context.Request.Url, ResolveUrl("~/ABC.aspx")).ToString )
我们也有类似 Request.Url.AbsoluteUri
我希望以上其中一项对您有用。