2014-05-14 222 views
0

我需要檢查頁面的當前URL是否包含特定的字符串。現在,我知道你可以通過ClientQueryString.Contains來做到這一點。但是,我必須已經修改頁面繼承System.Web.UI.UserControl我知道爲了使用ClientQueryString.Contains你必須繼承System.Web.UI.Page獲取當前頁面的URL

反正是有解決這個或者,我可以使用,因爲我不能繼承別的其他方法?

+0

Request.Url有什麼問題?使用'Dim CurrentURL As String = System.Web.HttpContext.Current.Request.Url' – Satpal

+0

[如何在asp.net中使用代碼隱藏技術獲取當前頁面的URL?](http://stackoverflow.com/questions/9139238/how-to-get-current-pages-url-in-asp-net-using-code-behind-technique) – Satpal

+0

重複取決於提問者希望檢查的URL部分。該鏈接不包括這個問題中要求的Request.QueryString。 – EvilDr

回答

1

沒有爲Request.Urlat this site 全套的例子來隔離你可以做的查詢字符串: Request.Url.GetComponents(UriComponents.Query, UriFormat.SafeUnescaped) 或者 Request.QueryString這是我的你想從你自己的代碼做什麼假設。

+0

'Request.QueryString'完成了技巧謝謝你! – bbesase

0

請檢查下面讓URL

(樣本URL)

http://localhost:60527/MyWeb/Default2.aspx?QueryString1=1&QuerrString2=2

代碼的不同部分

Response.Write("<br/> " + HttpContext.Current.Request.Url.Host); 
Response.Write("<br/> " + HttpContext.Current.Request.Url.Authority); 
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsolutePath); 
Response.Write("<br/> " + HttpContext.Current.Request.ApplicationPath); 
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsoluteUri); 
Response.Write("<br/> " + HttpContext.Current.Request.Url.PathAndQuery); 

輸出

localhost 
localhost:60527 
/MyWeb/Default2.aspx 
/MyWeb 
http://localhost:60527/MyWeb/Default2.aspx?QueryString1=1&QuerrString2=2 
/MyWeb/Default2.aspx?QueryString1=1&QuerrString2=2 

您可以複製上面的示例代碼粘貼&與不同的URL asp.net web表單應用程序運行它。

See here for more Details