Использование 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");" %>'