Question

J'ai un contrôle où je dois vérifier dans quelle page je suis, afin de pouvoir définir une certaine variable en conséquence.

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

Cela fonctionne très bien localement et sur certains vecteurs de développement. Toutefois, lorsque je le mets en ligne, il ne fonctionne plus car je ne reçois pas ASP.foo_bar_aspx mais _ASP.foo_bar_aspx . (remarquez le trait de soulignement dans la version en direct) Pourquoi agit-il de cette façon, puis-je le régler d'une manière ou d'une autre?

Était-ce utile?

La solution

Vous ne pouvez pas compter sur des noms générés automatiquement. Utilisez plutôt des types, par exemple:

if (Page is FooBar) { ... }

Autres conseils

Cela semble être un moyen vraiment risqué d’obtenir la demande actuelle. Avez-vous déjà essayé d'utiliser la variable HttpContext.Current.Request.FilePath ou un autre HttpContext.Current.Request ... à la place?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top