我有一个放在ASP.NET Repeater控件中的ASP.NET LinkButton,它呈现了多个链接按钮。我想动态设置每个链接按钮的样式。
我正在尝试。
style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;"
但我得到了“服务器标记格式不正确”的错误。
有什么想法吗?
我有一个放在ASP.NET Repeater控件中的ASP.NET LinkButton,它呈现了多个链接按钮。我想动态设置每个链接按钮的样式。
我正在尝试。
style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;"
但我得到了“服务器标记格式不正确”的错误。
有什么想法吗?
我理解的是,使用服务器标记作为属性值需要将整个属性值都写成服务器标记。尝试将其更改为以下内容:
style='<%# "color:#6D7B8D;font-size:" + DataBinder.Eval(Container.DataItem, "Title") + ";" %>'
注意整个style属性是如何在服务器标签之间使用C#代码进行构建的。
像这样写:
style='color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;'
使用单引号而不是双引号来包含样式
移除
<%# Databinder.Eval(Container.DataItem, "Title") %>
To:
Text='<%# Databinder.Eval(Container.DataItem, "Title") %>'
我们还可以在其中使用三元运算符--自定义字体大小
style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>'