2010-11-07 1 views
0

Если составной серверный элемент управления обычно инкапсулирует информацию о стиле внутри, это пример инкапсуляции кода и модуляции. Однако, если свойства css включены внутри составного элемента управления, это не идеально подходит для разделения кода/стиля и принципов повторного использования кода CSS. Теперь какое внимание должно быть главным соображением?Контроллер составного сервера (в том числе пользовательский элемент управления, пользовательский серверный контроль) обычно инкапсулирует свойства css?

ответ

1

Я бы начал с того, что предоставил свой пользовательский контроль очень простой, общий вид - возможно, оставив готовый вид как есть. Добавьте атрибуты стиля CSS к различным элементам элемента управления и покажите их как свойства. То есть, выставлять правила CSS как свойства name/value, которые могут быть установлены.

Если элемент управления зависит от некоторых основных изображений, CSS и т.д. Вы можете использовать встроенный ресурс:

http://weblogs.asp.net/abdullaabdelhaq/archive/2009/09/26/how-to-embedded-stylesheet-file-with-custom-control.aspx

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

1

Вы изучали тематику ASP.NET? Одно объяснение: http://msdn.microsoft.com/en-us/library/ykzx33wh(v=VS.100).aspx. Хотя, к сожалению, у меня не было возможности использовать тематику, я понимаю, что это канонический подход к решению этой проблемы.

Возможно, вам понадобится иметь информацию о стиле в вашем контроле, чтобы она корректно отображалась без темы, но тема может переопределять стили в элементе управления.

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

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