2010-03-16 10 views
1

Je lie actuellement une colonne de bits Nullable à un contrôle ListView. Lorsque vous déclarez un élément de vue liste, j'ai besoin de gérer le cas lorsque la valeur nulle est utilisée au lieu de simplement vrai ou faux. Puis, dans la page, j'ajoute une fonction HandleNullableBool() dans la page ASPX.Est-il possible de créer une fonction Util générique à utiliser dans Eval? Page

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

Cela fonctionne bien, mais je dois l'utiliser dans plusieurs pages, donc j'ai essayé de créer une classe utilitaire avec un HandleNullableBool statique. Mais l'utiliser dans la page ASP ne fonctionne pas. Existe-t-il un moyen de le faire dans une autre classe au lieu de la page ASPX?

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

Vous pouvez également écrire 'value ?? false' – SLaks

Répondre

1

Vous pouvez simplement écrire

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

Pour répondre à votre question, vous devez inclure l'espace de noms qui contient la classe, comme ceci: (en haut du fichier)

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

Vous pouvez également le faire dans Web.config:

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

ne savait pas que vous pouvez faire coallese dans Eval expresssion. Laisse-moi essayer – Nap