Question

I have a control where I have to check in which page I am, so I can set a certain variable accordingly.

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

this works fine locally and on some developmentservers, however when I put it live, It stopped working because I don't get ASP.foo_bar_aspx but _ASP.foo_bar_aspx (notice the underscore in the live version) Why does it act that way, Can I set it somehow?

Was it helpful?

Solution

You cant rely on auto generated names. Use types instead, eg:

if (Page is FooBar) { ... }

OTHER TIPS

That seems like a really dodgy way of getting the current request. Have you tried using HttpContext.Current.Request.FilePath or another HttpContext.Current.Request... variable instead?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top