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

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 (注意实时版本中的下划线) 它为什么这样做,我能以某种方式设置吗?

有帮助吗?

解决方案

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

if (Page is FooBar) { ... }

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top