Page.Tostring()在.net 1.1中表现得有点奇怪?

时间:2008-10-02 08:46:44

标签: c# .net .net-1.1

我有一个控件,我必须在哪个页面检查,所以我可以相应地设置一个变量。

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

这在本地和某些开发服务器上工作得很好,但是当我把它放到现场时,它停止工作,因为我没有得到ASP.foo_bar_aspx但是_ASP.foo_bar_aspx (注意实时版本中的下划线) 它为什么这样做,我能以某种方式设置吗?

2 个答案:

答案 0 :(得分:2)

你不能依赖自动生成的名字。请改用类型,例如:

if (Page is FooBar) { ... }

答案 1 :(得分:1)

这似乎是获取当前请求的一种非常狡猾的方式。您是否尝试过使用HttpContext.Current.Request.FilePath或其他HttpContext.Current.Request...变量?