c# - 如何从 aspx 文件而不是代码隐藏文件调用扩展函数

标签 c# asp.net

我想调用一个从十六进制表示返回颜色的函数。如何做到这一点。

这是我的代码

<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/

相关文章:

c# - 在 NHibernate 中执行 Oracle PL/SQL 存储过程

c# - 关闭和清理 Socket 连接的正确方法是什么?

asp.net - 如何在ASP.NET中使用Google的新reCAPTCHA "I am not a robot"

c# - 如何按行对二维数组进行排序?

c# - 从子类调用父方法c#

c# - 用于匹配季节和剧集的正则表达式

c# - ASP .Net Core 2 自包含部署在不同应用程序池标识帐户下的 IIS 中出现 502.5 错误

c# - 警告 : Only got partial types from assembly: Microsoft. Azure.WebJobs.Extensions.Storage

c# - 使用 Microsoft Translator API 用 C# 翻译整个网页

c# - ASP.Net 请求引发 502 Bad Gateway 或 TimeOut