Using DataBinder.Eval() in style attribute of an asp.net control

前端 未结 4 1447
长情又很酷
长情又很酷 2020-12-11 01:02

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\'

相关标签:
4条回答
  • 2020-12-11 01:37

    Remove

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

    To:

    Text='<%# Databinder.Eval(Container.DataItem, "Title") %>'
    
    0 讨论(0)
  • 2020-12-11 01:42

    Write it like that:

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

    With single quotes instead of double quotes around the style

    0 讨论(0)
  • 2020-12-11 01:52

    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");" %>'
    
    0 讨论(0)
  • 2020-12-11 01:54

    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.

    0 讨论(0)
提交回复
热议问题