2009-03-28 1 views
0

Я хочу, чтобы выяснить, внутри WebControl реальный тип страницы, которая разработана в Visual Studio 2008.asp.net дизайнер, как получить разработанный тип страницы

я могу получить в WebFormsRootDesigner, и как-то я знаю, можно получить

путь к файлу страницы aspx.

Я бы предпочел получить ProjectItem для этой страницы, потому что было бы излишним, чтобы элемент управления проанализировал файл, но я не могу найти способ сделать это.

И от ProjectItem из-страницы ASPX я понятия не имею, как получить класс страницы ...

Я хочу, чтобы мой WebControl вести себя по-разному в DesignTime в зависимости от типа страницы.

Thanks

ответ

1

Это очень плохой дизайн. Всегда плохо, что «внутреннее» поведение по-разному основано на «внешнем», или «ребенке», основанном на «родительском».

Вместо этого попросите страницу сообщить, как вести себя, установив свойство. На разных страницах один и тот же элемент управления будет вести себя по-разному. Таким образом, если вы добавите новую страницу, она все равно сможет использовать одно из существующих способов.

+0

Я согласен, что в принципе плохой дизайн, если вы также контролируете страницу. Но скажем, я хочу, чтобы мой элемент управления функционировал определенным образом на странице просмотра MVC. Это не задание страницы, чтобы сказать больше, чем это класс. Но я не знаю, как добраться до этого ... – Liviu

+0

Извините, это _is_ задание страницы, чтобы указать поведение, которое он хочет от элемента управления. Даже если все, что у вас есть, это две страницы, вы должны передать bool контроллеру, чтобы сказать, какое поведение использовать. Или перечислите, если есть выбор. Не привязывайте поведение элемента управления к странице. –

+0

@unknown: вы обнаружите общее недоразумение, когда вы предлагаете вам знать, как будет использоваться элемент управления. Если вы не ясновидящий, вы этого не сделаете. Не связывайте контроль над тем, как вы думаете, что он будет использоваться, поскольку вы обнаружите, что ваше воображение не даст вам. –