Question

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?

Was it helpful?

Solution

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.

OTHER TIPS

Write it like that:

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

With single quotes instead of double quotes around the style

Remove

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

To:

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

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");" %>'
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top