powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сustom Control & CSS
16 сообщений из 16, страница 1 из 1
Сustom Control & CSS
    #33839868
Darkman_VLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ув. подскажи-те как быть.
Имеется контрол, и имеет СSS. Как можно вставить аккуратно его в HTML, желательно в заголовок, что бы не засорять попросту полученный HTML?

p.s.
JavaScript который прилогается к этому контролу и вытаскивается из ресурсов, должен в зависимости от событий менять один стиль на другой...
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33840845
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Darkman_VLT, Вы писали:

D_V>Имеется контрол, и имеет СSS. Как можно вставить аккуратно его в HTML, желательно в заголовок, что бы не засорять попросту полученный HTML?

Не очень понятен вопрос. В чем именно проблема? Не получается вставить ссылку на css в HEAD?В мире что-то не так? Или это у меня в голове?
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33840877
Darkman_VLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
G>Не очень понятен вопрос. В чем именно проблема? Не получается вставить ссылку на css в HEAD?

Именно.
Не хочется в середине страницы видеть <style>

Очень хочется сложить в ресурсы контрола CSS и во время рендеринга вставлять это в HEAD
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33840881
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Darkman_VLT, Вы писали:


D_V>Не хочется в середине страницы видеть <style>
D_V>Очень хочется сложить в ресурсы контрола CSS и во время рендеринга вставлять это в HEAD

То есть, все-таки проблема в том как вытащить CSS из ресурсов? Ведь объявление css программно в head поставить очень просто. В ASP.NET 2.0 есть такое понятие как Web Resources. Что с ними делать, можно посмотреть в моей старой старой презентацииHe's taking the preventive measures, It must have been too late
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33844255
Darkman_VLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, Darkman_VLT, Вы писали:


D_V>>Не хочется в середине страницы видеть <style>
D_V>>Очень хочется сложить в ресурсы контрола CSS и во время рендеринга вставлять это в HEAD

G>То есть, все-таки проблема в том как вытащить CSS из ресурсов? Ведь объявление css программно в head поставить очень просто. В ASP.NET 2.0 есть такое понятие как Web Resources. Что с ними делать, можно посмотреть в моей старой старой презентации

Возможно Вы меня не правильно поняли.
Дело в том, что хочется что бы компонент во время своего рендеринга сам вставлял CSS в заголовок ввиде <link ...> а не приходилось рисовать стиль <style/> в том месте, где рендерится контрол.

пытаюсь что-то добавить в перегруженом методе Render — ни чего не добавляется.
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33844360
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если речь идет все таки об ASP2 то page.header поможет добавить <link ...>----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845282
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Darkman_VLT, Вы писали:

D_V>Возможно Вы меня не правильно поняли.

видимо да

D_V>Дело в том, что хочется что бы компонент во время своего рендеринга сам вставлял CSS в заголовок ввиде <link ...> а не приходилось рисовать стиль <style/> в том месте, где рендерится контрол.

Вообще-то, лучше сделать свойство CssClass как и у стандартных элементов управления. Если компонент шаблонный, то сделать несколько таких свойств, типа ItemCssClass, AlternatingItemCssClass, etc.
Если хочется жестко вшить свой стандартный css, то лучше всего сделать так (примерный алгоритм, могу ошибаться в деталях):
а) Сделать нужный css веб-ресурсом.
б) Получить его урл
в) Получить страницу, на которой находится элемент управления
г) Page.Header.InnerHtml += "<LINK href=\"webresourcecssfileurl.css\" type=text/css rel=stylesheet>";

Но меня такое обращение с родительской страницей несколько коробит. Не дело контрола изменять свойства контейнера.Исправность аккумулятора можно проверить не выходя из салона, лизнув специально выведенные на приборную доску контакты.
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845318
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D_V>Возможно Вы меня не правильно поняли.
D_V>Дело в том, что хочется что бы компонент во время своего рендеринга сам вставлял CSS в заголовок ввиде <link ...> а не приходилось рисовать стиль <style/> в том месте, где рендерится контрол.

D_V>пытаюсь что-то добавить в перегруженом методе Render — ни чего не добавляется.

1. При использовании Themes — все css попадут в секцию Head как <link ... />
2. делаем <head> серверным контролом ( в ASP.NET 2.0 почти всегда так и есть ). После этого он доступен через Page.Header — контрол к которому можно добавлять свои любые.
3. получить Url файла из ресурсов можно с помощью Page.ClientScript.GetWebResourceUrl

из 2-3 вытекает такой код :


HtmlLink link1 = new HtmlLink();
link1.Href = Page.ClientScript.GetWebResourceUrl( rtype, rname ) ;
link1.Attributes["type"] = "text/css";
link1.Attributes["rel"] = "stylesheet";
this.Page.Header.Controls.Add(link1);

что писать вместо rtype, rname вы найдете тут... << RSDN@Home 1.1.4 beta 6a rev. 436>>
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845320
Darkman_VLT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Gollum, Вы писали:
G>Но меня такое обращение с родительской страницей несколько коробит. Не дело контрола изменять свойства контейнера.

По большому счёту Вы правы, но как-то очень не приятно открывать HTML и в середине видеть N, а хотя лучше M — так будет больше :), строк CSS Style'a.

Мне кажется, проще это всё залинковать в заголовок.
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845326
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Gollum, Вы писали:

G>Но меня такое обращение с родительской страницей несколько коробит. Не дело контрола изменять свойства контейнера.

не скажи, тут контейнер используется только для регистрации вспомогательных ресурсовю тем более он предлагает для этого штатный способ.... << RSDN@Home 1.1.4 beta 6a rev. 436>>
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845340
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, mogadanez, Вы писали:

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

И вдруг он в этом css определит стили по умолчанию скажем для линков, а в главной странице совсем другая цветовая гамма?В лучших книгах всегда нет имен, и в лучших картинах — лиц
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845391
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, mogadanez, Вы писали:

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

G>И вдруг он в этом css определит стили по умолчанию скажем для линков, а в главной странице совсем другая цветовая гамма?

в веб приложении таких "вдруг" может быть очень много.
например я могу написать


Page.ClientScript.RegisterClientScript ( "key", jstools.format( "document.getElementById( {0}  ).nextSibling.style.display='none'", ClientID );

либо могу подписатья на событие какое нибудь:

<script>
document.onresize = my_handler;  
</script>
Выиграет последний кто так подпишется — остальные в пролете.... << RSDN@Home 1.1.4 beta 6a rev. 436>>
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845403
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, mogadanez, Вы писали:

M>в веб приложении таких "вдруг" может быть очень много.

Ну вот, поэтому лучше так и не делать. ИМХО.He's taking the preventive measures, It must have been too late
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845479
mogadanez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, mogadanez, Вы писали:

M>>в веб приложении таких "вдруг" может быть очень много.

G>Ну вот, поэтому лучше так и не делать. ИМХО.

нужно иметь не запрет на взаимодействие с глобальными компонентами, а просто нормальные установленные правила внутреннего устройства + возможно общие компоненты облегчающие( а возможно и контролирующие ) такое взаимодействие.

когда пишется НЕзависимый контрол — безусловно лучше его сделать с настраиваемыми извне стилями,
однако в специфичных веб приложениях( особенно интранет ) нередко бывают некие уникальные контролы со своим особым дизайном — для которых намного приятнее хранить стили в отдельном css файле. иначе получается ОЧЕНЬ много стилей на странице. к тому css кеширеутся браузером =)

Например есть у нас страничка на которой лежит довольно сложная матрица состоящая из примерно 20+ UserControl'ов.
Если бы стили были inline или настраиваемые через Property — мы бы померли приводить все это к единому нормальному виду.


P.S. кстати я вернулся на форум =)... << RSDN@Home 1.1.4 beta 6a rev. 436>>
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845505
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, mogadanez, Вы писали:

M>Например есть у нас страничка на которой лежит довольно сложная матрица состоящая из примерно 20+ UserControl'ов.
M>Если бы стили были inline или настраиваемые через Property — мы бы померли приводить все это к единому нормальному виду.

Ну на компромисс всегда приходится идти, это да.

M>P.S. кстати я вернулся на форум =)

Ура :)Это в голове у него перекос — параллакс...
...
Рейтинг: 0 / 0
Сustom Control & CSS
    #33845996
kpumuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Darkman_VLT, Вы писали:

G>>Не очень понятен вопрос. В чем именно проблема? Не получается вставить ссылку на css в HEAD?

D_V>Именно.
D_V>Не хочется в середине страницы видеть <style>

D_V>Очень хочется сложить в ресурсы контрола CSS и во время рендеринга вставлять это в HEAD


HtmlGenericControl c = new HtmlGenericControl("link");
c.Attributes["type"] = "text/css";
c.Attributes["rel"] = "stylesheet";
c.Attributes["href"] = "/Path/To/CSS/styles.css";
Page.Header.Controls.Add(c);... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сustom Control & CSS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]