在 asp.net 控件的样式属性中使用 DataBinder.Eval()
Posted
技术标签:
【中文标题】在 asp.net 控件的样式属性中使用 DataBinder.Eval()【英文标题】:Using DataBinder.Eval() in style attribute of an asp.net control 【发布时间】:2011-03-26 23:20:02 【问题描述】:我在 asp.net 转发器控件中有一个 asp.net 链接按钮,它呈现多个链接按钮。我想动态设置每个链接按钮的样式。
我在努力
style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;"
但我收到“服务器标签格式不正确”错误。
有什么想法吗?
【问题讨论】:
【参考方案1】:我的理解是,将服务器标签用于属性需要服务器标签用于整个属性值。尝试将其更改为:
style='<%# "color:#6D7B8D;font-size:" + DataBinder.Eval(Container.DataItem, "Title") + ";" %>'
注意整个样式属性是如何在服务器标签之间的 C# 代码中构造的。
【讨论】:
在我看来撇号是不必要的:只需键入 style=【参考方案2】:这样写:
style='color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;'
样式周围用单引号代替双引号
【讨论】:
【参考方案3】:删除
<%# Databinder.Eval(Container.DataItem, "Title") %>
收件人:
Text='<%# Databinder.Eval(Container.DataItem, "Title") %>'
【讨论】:
【参考方案4】:我们也可以在其中使用三元运算符——自定义字体大小
style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>'
【讨论】:
以上是关于在 asp.net 控件的样式属性中使用 DataBinder.Eval()的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET AJAX TabControl 中设置控件样式
使用 bootstrap v3 为 asp.net 下拉列表控件添加样式