asp.net中是否有一些方法可以获得无cookie会话的绝对URL?
更新:我需要创建其他新网址。它不是请求的URL。
我使用Response.ApplyAppPathModifier来获取cookie会话的相对URL。
提前,
答案 0 :(得分:2)
我尝试了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>
答案 1 :(得分:0)
您是否尝试过Request.Url.ToString()。它应该适合你。 如果您需要的是您网站上另一个页面的网址,那么您可以像这样继续...
String url = new Uri(Context.Request.Url,ResolveUrl(“〜/ ABC.aspx”))。ToString)
我们也有像Request.Url.AbsoluteUri
这样的东西我希望以上其中一项适合你。