Page.Tostring () ведет себя немного странно в .net 1.1? - PullRequest
0 голосов
/ 02 октября 2008

У меня есть элемент управления, где я должен проверить, на какой странице я нахожусь, чтобы я мог соответственно установить определенную переменную.

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 ]

2 голосов
/ 02 октября 2008

Вы не можете полагаться на автоматически сгенерированные имена. Вместо этого используйте типы, например:

if (Page is FooBar) { ... }
1 голос
/ 02 октября 2008

Это похоже на очень хитрый способ получения текущего запроса. Вы пытались использовать HttpContext.Current.Request.FilePath или другую переменную HttpContext.Current.Request... вместо

...