Reputation: 21657
I've a asp.net linkbutton inside asp.net repeater control which renders multiple link buttons. I want to set the style of each and every linkbutton dynamically.
I'm trying
style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;"
But i'm getting "The server tag is not well formed" error.
Any ideas?
Upvotes: 15
Views: 21880
Reputation: 5240
We can also use trenary operator within it-- to custom the font size
style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>'
Upvotes: 0
Reputation: 77616
My understanding is that using server tags for attributes requires that the server tag be used for the entire attribute value. Try changing it to this:
style='<%# "color:#6D7B8D;font-size:" + DataBinder.Eval(Container.DataItem, "Title") + ";" %>'
Notice how the entire style attribute is being constructed in C# code between the server tags.
Upvotes: 26
Reputation: 7000
Remove
<%# Databinder.Eval(Container.DataItem, "Title") %>
To:
Text='<%# Databinder.Eval(Container.DataItem, "Title") %>'
Upvotes: 0
Reputation: 69042
Write it like that:
style='color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;'
With single quotes instead of double quotes around the style
Upvotes: 4