ASP.NET la Liaison entier à la Case est Cochée, le champ

J'ai un élément de liste modèle, dans lequel j'essaie de lier la valeur entière de Checked propriété de Case à cocher.

IsUploaded valeur ne contient que des 0 et des 1...

<asp:ListView ID="trustListView" runat="server">
    <ItemTemplate>
        <asp:CheckBox ID="isUploadedCheckBox" runat="server"
            Checked='<%# Bind("IsUploaded") %>' />
    </ItemTemplate>
</asp:ListView>

Mais ASP.NET se plaint de ce que

Détails De L'Exception: System.InvalidCastException: Sepcified casting n'est pas valide

Même si le code suivant à l'aide de DataBinder.Eval() œuvres,

J'ai besoin d'avoir un 2-way de liaison, il faut donc utiliser Bind().

<asp:CheckBox ID="isUploadedCheckBox2" runat="server"
    Checked='<%# Convert.ToBoolean(
        DataBinder.Eval(Container.DataItem, "IsUploaded"))) %>' />

Comment puis-je convertir 0 et de 1 pour booléenne à l'aide de Bind()?


[RÉPONDRE]
J'ai étendu auto-généré par type de classe partielle par l'ajout d'une nouvelle propriété, mentionné dans la réponse par Justin

Fait des "IsUploaded" un peu ou autre type de données boolean au lieu d'un int une option?
est un peu.
Quel type de source de données sont vous contraignant? La liaison d'une case à cocher pour un peu à l'aide d'un objectdatasource pointant vers une table adaptateur fonctionne sans erreur pour moi.
Il s'agit d'une auto-généré type d'Entity framework.
Je ne sais pas pourquoi je ne peux pas Upvote. De toute façon, nous sommes désolés de ne pas pouvoir voter tous les grands de réponses ici. Il dit que je ne peut pas upvote à moins que les réponses sont modifié??? ...

OriginalL'auteur Sung M. Kim | 2009-10-13