在 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 下拉列表控件添加样式

如何在 ASP.NET 用户控件中指定 *.css 文件?

将 CSS 样式表与 ASP.NET 自定义控件链接

如何给DropDownList控件设置样式(ASP.NET MVC)

如何在 ASP.NET GridView Pager 中设置活动页码的样式?