Использование DataBinder.Eval() в атрибуте style элемента управления asp.net
У меня есть ссылка asp.net link внутри управления репитером asp.net, которая отображает несколько кнопок ссылок. Я хочу динамически установить стиль каждой ссылки.
Я пытаюсь
style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;"
Но я получаю ошибку "Ошибка сервера".
Любые идеи?
Ответы
Ответ 1
Я понимаю, что использование тегов сервера для атрибутов требует, чтобы тег сервера использовался для значения атрибута целиком. Попробуйте изменить его на это:
style='<%# "color:#6D7B8D;font-size:" + DataBinder.Eval(Container.DataItem, "Title") + ";" %>'
Обратите внимание, как весь атрибут стиля создается в коде С# между тегами сервера.
Ответ 2
Напиши так:
style='color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;'
С одинарными кавычками вместо двойных кавычек вокруг стиля
Ответ 3
Удалите
<%# Databinder.Eval(Container.DataItem, "Title") %>
To:
Text='<%# Databinder.Eval(Container.DataItem, "Title") %>'
Ответ 4
Мы также можем использовать оператор trenary внутри него - чтобы настроить размер шрифта
style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>'