Использование DataBinder.Eval () в атрибуте стиля элемента управления asp.net - PullRequest
15 голосов
/ 08 августа 2010

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

Я пытаюсь

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

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

Есть идеи?

Ответы [ 4 ]

24 голосов
/ 08 августа 2010

Насколько я понимаю, использование тегов сервера для атрибутов требует, чтобы тег сервера использовался для значения атрибута whole .Попробуйте изменить его следующим образом:

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

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

4 голосов
/ 08 августа 2010

Напишите так:

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

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

0 голосов
/ 21 марта 2014

Мы также можем использовать оператор trenary внутри него - чтобы настроить размер шрифта

style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>'
0 голосов
/ 08 августа 2010

Удалить

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

Кому:

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