2010-08-23 6 views
2

Демо-веб-проект, который поставляется с VS2010, содержит элемент system.web.ui.webcontrols.menu.Почему CSS «теряется», когда я устанавливаю свойство IncludeStyleBlock равным True?

Это конкретное меню включает свойство IncludeStyleBlock.

Если для свойства IncludeStyleBlock установлено значение False, меню отображается так, как предполагается. Меню будет уничтожено, если я установил это свойство в значение True. Итак, вот мой главный вопрос ...

Есть ли способ сохранить внешний вид меню, если свойство IncludeStyleBlock установлено в false?

P.S. Я должен установить его в False ..., поскольку мой провайдер не поддерживает четвертое поколение платформы .NET.

+0

Вы проверили сгенерированный html внимательно, чтобы увидеть, что меню фактически отсутствует в коде? –

ответ

0

Вы задали оговорку в своем вопросе. Вы начинаете с того, что меню прекрасно, когда свойство IncludeStyleBlock установлено в False и ломается, когда True. Тогда вы говорите, что это сломано, когда False, и вы хотите обходной путь для работы в False.

Из-за этой путаницы я основывая этот ответ выключить из предположения, что вы хотите, чтобы имитировать стиль набор по умолчанию ASP.NET, когда IncludeStyleBlock установлена ​​истина, но сохраняя при этом IncludeStyleBlock="False"

Первая: Поскольку меню отображается отлично, когда IncludeStyleBlock="True", что вам нужно сделать, это установить его в true и просмотреть отображаемый исходный код. Из исходного кода вы можете найти копию блока CSS по умолчанию, который по умолчанию создает элемент управления Menu. Это то, что вам нужно.

Во-вторых: После того, как у вас есть блок CSS, просто скопируйте и вставьте его в свою разметку (встроенную или внешнюю). Как только вы это сделаете, вы можете сделать IncludeStyleBlock="False", а теперь встроенный/внешний CSS-блок сохранит внешний вид меню. (В качестве бонуса это небольшое повышение производительности при кешировании CSS)

1

Если генерирующие элементы получили идентификаторы и классы, вы можете создать их с помощью обычного файла CSS. Создает ли он встроенный CSS с включенной опцией? Если это так, вы можете скопировать его во внешний файл, чтобы начать с

1

this page дает вам некоторые подсказки, в частности в Примечания раздел?

Короче говоря, если вы присвоили свойству значение false, вы должны указать «собственный блок определений CSS на странице» или включить ссылку на внешний файл CSS, содержащий определения ». Кроме того, вы не сможете установить свойства стиля.

Итак, если вы установите для свойства значение true, оно будет игнорировать свойства стиля, которые вы предоставляете.

Смежные вопросы