我想调用一个从十六进制表示返回颜色的函数。如何做到这一点。
这是我的代码
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Status") %>' BackColor='<%# Eval("ColorCode") %>'></asp:Label>
我想这样调用它
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Status") %>' BackColor='<%# Eval("ColorCode").ToString().ToColor() %>'></asp:Label>
目前它显示错误 InvalidCastException,因为它返回字符串。 我创建了一个提供颜色并应用于字符串的扩展。 如何使用这里。
该函数位于页面所在的其他命名空间下。
public static Color ToColor(this string originalColor)
{
return ColorTranslator.FromHtml(originalColor);
}
如果我尝试调用 ToColor,则会出现错误
“string”不包含“ToColor”的定义,并且找不到接受“string”类型的第一个参数的扩展方法“ToColor”(是否缺少 using 指令或程序集引用?)
最佳答案
如果 ToColor()
与当前页面位于不同的命名空间中,则必须从 aspx 页面的顶部引用它。
<%@ Import Namespace="ShantanuGupta" %>
关于c# - 如何从 aspx 文件而不是代码隐藏文件调用扩展函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458964/