1

asp.net 中是否有一些方法可以通过无 cookie 会话获取绝对 URL?

更新:我需要创建其他新 URL。它不是请求的 URL。

我正在使用 Response.ApplyAppPathModifier 获取带有 cookie 会话的相对 URL。

提前谢谢,

4

2 回答 2

3

我尝试了 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>
于 2010-07-05T15:57:16.447 回答
0

您是否尝试过 Request.Url.ToString()。它应该适合你。如果您需要的是您网站上另一个页面的网址,那么您可以像这样继续...

String url = new Uri(Context.Request.Url, ResolveUrl("~/ABC.aspx")).ToString )

我们也有类似 Request.Url.AbsoluteUri

我希望以上其中一项对您有用。

于 2010-07-05T16:04:49.440 回答