2010-07-05 44 views
1

是否有一些方法在asp.net中獲取絕對URL與無Cookie會話?絕對URL Cookieless

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

我正在使用Response.ApplyAppPathModifier獲取cookie會話的相對URL。

Thx提前,

+0

你可以多給點背景知識。 Cookie如何影響URL? – 2010-07-05 15:45:08

+0

什麼是「無cookie會話的URL」? – Gumbo 2010-07-05 15:47:45

+0

@Gumbo:在ASP.NET中使用無Cookie會話的url是您在web.config 中設置時的結果。請檢查我的答案以獲取更多信息。 – XIII 2010-07-05 16:11:07

回答

2

我試圖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被設置與Cookie會話包括一部分。

當我查一下我的瀏覽器中呈現的HTML源我看到這一點:

<a id="HyperLink1" href="/WebSite1/(S(3tzgdnmhwxmxqer10d11auuq))/About.aspx">HyperLink</a> 
+0

更新:我需要創建其他新的URL。它不是請求的URL。 – fravelgue 2010-07-05 16:26:46

+0

是的,這是一個相對URL,但我需要絕對URL,我使用string.format獲取域名。但我希望存在一個特定的功能。 Thx爲你提供幫助。 – fravelgue 2010-07-07 11:13:16

+0

我不認爲有一個特定的功能開箱即用。但是,您可以創建一個全新的Uri實例,並在Request.Uri屬性中傳遞具有某些字符串格式的部分。 – XIII 2010-07-08 09:13:39

0

你嘗試Request.Url.ToString()。它應該適合你。 如果您需要的是您網站上另一頁的網址,那麼您可以像這樣繼續......

String url = new Uri(Context.Request.Url,ResolveUrl(「〜/ ABC.aspx」))。的ToString)

我們也有像Request.Url.AbsoluteUri

我希望有以上應爲你工作。

+0

我不知道爲什麼。但ResolveUrl不適用於無Cookie的網址。 – fravelgue 2010-07-05 16:26:16