Friday, February 11, 2011

Page.Tostring() behaves a bit weird in .net 1.1?

Hi,

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?

  • 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?

    Oli : Or System.IO.Path.GetFileName(HttpContext.Current.Request.FilePath) if you just want the filename
    From Oli
  • You cant rely on auto generated names. Use types instead, eg:

    if (Page is FooBar) { ... }
    
    From leppie

0 comments:

Post a Comment