«Динамический» CSS-стиль в asp .net? - PullRequest
1 голос
/ 02 декабря 2011

У меня есть следующее внутри заполнителя содержимого на моих страницах asp .net:

<style type="text/css">

    #sortable1 { list-style-type: none; margin: 0; padding: 0; zoom: 1; }
    #sortable1 li { margin: 3px; padding: 3px; width: 90%; border: 1px solid #000000; background: #000000; color: #FFFFFF; }
    #sortable1 li.highlightWorkflow { background: #FFFF00; color: #000000; }

</style>

В идеале я бы хотел поменять # 00000 на значения, хранящиеся на странице, возможно, в скрытых полях. Возможно ли это?

Ответы [ 3 ]

2 голосов
/ 02 декабря 2011

Вы не можете изменить свой CSS-файл напрямую из asp.net, но вы можете сделать это с некоторым творческим использованием библиотеки javascript, такой как jQuery.

Теоретически вы бы использовали следующий псевдокод

var colorCode = getColorCodeFromHiddenField();
$(field).prop(property, colorCode)
1 голос
/ 02 декабря 2011

Если ваш taget должен иметь возможность изменять цвета при проектировании, я предлагаю вам взглянуть на Less Css (http://lesscss.org/). Это позволяет вам сохранить цветовой код в переменной, поэтому вам нужно только один раз изменить значение.

Если вам, однако, нужен способ для изменения значений, что-то вроде предложения @ Ян лучше.

0 голосов
/ 02 декабря 2011

Если вы хотите, чтобы это было сделано на стороне клиента, проще всего использовать JQuery или JavaScript, как Ян описывает выше.

Если вы хотите сделать это на стороне сервера,Вы можете присвоить значение id элементу, который вам нужен, чтобы изменить стили и сделать что-то вроде этого:

yourID.Style.Add("color", something);

или

yourID.Attributes.Add("style", "color: yourcolor;");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...