Pregunta

Tengo un control donde tengo que verificar en qué página estoy, por lo que puedo establecer una determinada variable en consecuencia.

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

esto funciona bien localmente y en algunos desarrollos, sin embargo, cuando lo puse en vivo, dejó de funcionar porque no obtengo ASP.foo_bar_aspx sino _ASP.foo_bar_aspx (note el guión bajo en la versión en vivo) ¿Por qué actúa de esa manera? ¿Puedo configurarlo de alguna manera?

¿Fue útil?

Solución

No puedes confiar en los nombres generados automáticamente. Utilice tipos en su lugar, por ejemplo:

if (Page is FooBar) { ... }

Otros consejos

Eso parece ser una forma realmente poco fiable de obtener la solicitud actual. ¿Ha intentado usar HttpContext.Current.Request.FilePath u otra HttpContext.Current.Request ... en su lugar?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top