是否可以创建要在Eval页面中使用的通用Util函数

时间:2010-03-16 00:51:07

标签: asp.net eval nullable

我目前正在将Nullable位列绑定到listview控件。声明列表视图项时,我需要在使用null值而不是true或false时处理这种情况。

<asp:Checkbox ID="Chk1" runat="server" 
    Checked='<%# HandleNullableBool(Eval("IsUsed")) %>' />

然后在页面中我在ASPX页面中添加了一个HandleNullableBool()函数。

protected static bool HandleNullableBool(object value) 
{
    return (value == null) ? false : (bool)value;
}

这很好但我需要在几个页面中使用它,所以我尝试使用静态HandleNullableBool创建一个实用程序类。但是在asp页面中使用它不起作用。有没有办法在另一个类而不是ASPX页面中执行此操作?

<asp:Checkbox ID="Chk1" runat="server" 
    Checked='<%# Util.HandleNullableBool(Eval("IsUsed")) %>' />

1 个答案:

答案 0 :(得分:1)

你可以简单地写

<asp:Checkbox ID="Chk1" runat="server" 
    Checked='<%# Eval("IsUsed") ?? false %>' />

要回答您的问题,您需要包含包含该类的命名空间,如下所示:(位于文件顶部)

<%@ Import Namespace="Your.Namespace.Here" %>

您也可以在Web.config中执行此操作:

<pages>
    <namespaces>
        <add namespace="Your.Namespace.Here" />
    </namespaces>
</pages>