Можно ли создать универсальную функцию Util для использования в Eval Page - PullRequest
1 голос
/ 16 марта 2010

В настоящее время я связываю битовый столбец Nullable с элементом управления listview. Когда вы объявляете элемент представления списка, мне нужно обработать случай, когда вместо значения true или false используется пустое значение.

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

Затем на странице я добавляю функцию HandleNullableBool () внутри страницы ASPX.

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 Ответ

1 голос
/ 16 марта 2010

Вы можете просто написать

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