在asp.net中有没有什么方法可以通过无cookieless会话来获取绝对url?
更新:我需要创建其他新的URL。它不是请求的URL。
我正在使用Response.ApplyAppPathModifier来获取与cookie会话相关的网址。
在Thx之前,
发布于 2010-07-05 23:57:16
我尝试了Request.RawUrl和Request.Url (及其在即时窗口中的属性)。
没有显示设置(web.config)的额外属性:
<sesionState cookieless="true" />在url中添加。
示例
http://localhost:2677/WebSite1/(S(3abhbgwjg33aqrt3uat2kh4d))/cookielesssessiondetection.aspx
然而,如果你想要那个部分,3abhbgwjg33aqrt3uat2kh4d,你可以通过:
Session.SessionID在更新后的问题后更新:
我在我的测试应用程序中放了一个页面上的超链接控件。在代码隐藏Page_Load中,我添加了:
HyperLink1.NavigateUrl = Response.ApplyAppPathModifier("About.aspx");当我运行该页面时,About.aspx的url被设置为包含无cookieless会话部分。
当我在浏览器中检查呈现的html的源代码时,我看到以下内容:
<a id="HyperLink1" href="/WebSite1/(S(3tzgdnmhwxmxqer10d11auuq))/About.aspx">HyperLink</a>发布于 2010-07-06 00:04:49
您有没有尝试过Request.Url.ToString()。这对你来说应该是可行的。如果你需要的是你网站上另一个页面的url,那么你可以这样做…
String url =新Uri(Context.Request.Url,ResolveUrl("~/ABC.aspx")).ToString )
我们也有像Request.Url.AbsoluteUri这样的东西
我希望上面的其中一个能为你工作。
https://stackoverflow.com/questions/3180697
复制相似问题