2010-08-08 2 views
13

У меня есть ссылка asp.net внутри репитера asp.net, которая отображает несколько кнопок ссылок. Я хочу динамически установить стиль каждой ссылки.Использование DataBinder.Eval() в атрибуте стиля элемента управления asp.net

Я пытаюсь

style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;" 

Но я получаю «Тег сервера не хорошо сформированную» ошибка.

Любые идеи?

ответ

20

Мое понимание что использование ser Для тегов ver для атрибутов требуется, чтобы тег сервера использовался для значения всего значения. Попробуйте изменить его на это:

style='<%# "color:#6D7B8D;font-size:" + DataBinder.Eval(Container.DataItem, "Title") + ";" %>' 

Обратите внимание, как весь атрибут стиля строится в коде C# между тегами сервера.

+0

С моей точки зрения апострофа излишни: просто введите стиль = <% # «цвет: # 6D7B8D; Font- size: "+ DataBinder.Eval (Container.DataItem," Title ") +"; " %> – Franziee

+0

Ваш код работает для меня, спасибо :-) –

4

Написать это так:

style='color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;' 

С одинарные кавычки вместо двойных кавычек вокруг стиля

0

Удалить

<%# Databinder.Eval(Container.DataItem, "Title") %> 

To:

Text='<%# Databinder.Eval(Container.DataItem, "Title") %>' 
0

Мы также можем использовать Тренари оператор в it-- обыкновения размер шрифта

style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>' 
Смежные вопросы