Domanda

Ho un controllo in cui devo controllare in quale pagina mi trovo, quindi posso impostare una determinata variabile di conseguenza.

string pageName = this.Page.ToString();
switch (pageName)
{
case "ASP.foo_bar_aspx": doSomething(); break;
default: doSomethingElse(); break;
}

funziona bene localmente e su alcuni server di sviluppo, tuttavia quando l'ho messo in funzione, ha smesso di funzionare perché non ottengo ASP.foo_bar_aspx ma _ASP.foo_bar_aspx (notare il carattere di sottolineatura nella versione live) Perché si comporta in questo modo, posso impostarlo in qualche modo?

È stato utile?

Soluzione

Non puoi fare affidamento su nomi generati automaticamente. Utilizzare invece i tipi, ad esempio:

if (Page is FooBar) { ... }

Altri suggerimenti

Sembra un modo davvero complicato di ottenere la richiesta corrente. Hai provato a utilizzare invece HttpContext.Current.Request.FilePath o un'altra variabile HttpContext.Current.Request ... ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top