我想从数据库绑定标签的字体大小。标签在TemplateField中。我的数据库中有一列名为“ FontSize”的列,其中包含诸如“ small”,“ large”或“ 12px”之类的数据。
我使用下面的代码来执行此操作,但是会发生错误。我想我可能需要更改数据库中的“ FontSize”数据格式或更改Font-Size='<%# Eval("FontSize") %>'
以下代码中的行。我怎样才能做到这一点?
<asp:TemplateField>
<ItemTemplate>
<div>
<asp:Label ID="Label3"
runat="server"
Font-Bold="True"
Text='<%# Eval("PubText") %>'
Font-Size='<%# Eval("FontSize") %>'
ForeColor='<%# System.Drawing.Color.FromName(Eval("Color").ToString()) %>'></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
绑定字体大小会造成混淆,因为您可以为它提供一个明确的字符串值,例如“ 12px”或“ Smaller”,如下所示:
Font-Size="12px"
但是,当您想绑定一个值时,它需要一个FontUnit。幸运的是,FontUnit有一些方法可用于从其他数据类型创建所需的FontUnit。由于看起来您的数据是字符串,因此您可能需要FontUnit.Parse方法:
Font-Size='<%# FontUnit.Parse(Eval("FontSize").ToString()) %>'
还有一个采用整数的FontUnit.Point方法。因此,如果您的数据碰巧是10、15、20等,则可以使用它。
Font-Size='<%# FontUnit.Point(Convert.ToInt32(Eval("FontSize"))) %>'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句