2011-11-18 23 views
6

Eventuali duplicati:
How to get the URL of the current page in C#Come ottenere l'URL corrente

Se io sono in una pagina dicono http://myweb/folder/obtain.aspx?thevalue=3, come posso determinare se l'URL contiene obtain.aspx?thevalue in C# ?. Ho solo bisogno di verificare se l'utente è atterrato su questa particolare pagina.

PS: Credo che I dont davvero bisogno di verificare la ?thevalue, ma solo il obtain.aspx

+0

@RichardD Le risposte non spiegano come ottenere il nome della pagina o del file effettivi, mostrano solo come ottenere l'Url. In base al titolo sono uguali, ma il contenuto delle domande li rende diversi. – Nate

risposta

9

Prova questo:

//gets the current url 
string currentUrl = Request.Url.AbsoluteUri; 

//check the url to see if it contains your value 
if (currentUrl.ToLower().Contains("obtain.aspx?thevalue")) 
    //do something 
+1

+1 come talvolta i collegamenti sono SUPERIORE o Titolo o minuscolo. – Rippo

+0

e se ho "#" nell'URL ...... cioè http: //myweb/folder/obtain.aspx#commentfocus –

0

Request.Url restituirà l'esatto Uri viene richiesto dall'utente.

Se si desidera controllare specificamente per thevalue, siete probabilmente meglio alla ricerca di che nel Request.QueryString

1

Request.Url dovrebbe contenere tutto il necessario. Nel tuo caso, si potrebbe usare qualcosa come

if(Request.Url.PathAndQuery.IndexOf("obtain.aspx") >= 0)... 
1

mi consiglia di utilizzare Request.Url. Per ottenere il nome esatto del file, si può provare anche con System.IO.Path

var aspxFile = System.IO.Path.GetFileName(Request.Url.LocalPath); 
var landed = aspxFile.Equals("obtain.aspx", StringComparison.InvariantCultureIgnoreCase); 
if(landed) { // your code } 
1

Questo vi darà l'esatto nome del file (obtain.aspx) Request.Url.Segments [1]

0

è brutto, ma si cand try

if (HttpContext.Current.HttpRequest.Url.AbsolutePath.Contains("/obtain.aspx")) 
// then do something 
+0

Contains darà un vero "2obtain.aspx" così come ... Equals() dovrebbe essere utilizzato e System.IO.Path.GetFileName (Request.Url.LocalPath); – Kim

+0

In effetti, sarebbe meglio –

Problemi correlati