FindByValue sur ASP.NET DropDownList

J'ai le code suivant dans une coutume de contrôle de l'utilisateur qui contient un DropDownList nommé ddlAggerationUnitId. La DropDownList est DataBind avais sur le Page_Load() de l'événement. La "valeur" est réglé à 40 et il N'existe pas. Si je supprime la logique de la méthode set le chargement de la page et sélectionner le bon élément, mais si la valeur est faux la page lève une exception. Je voudrais éviter que l'exception, en voyant si la valeur existe AVANT d'essayer de le définir, c'est pourquoi la logique est nécessaire.

Pour l'instant il semble comme le compilateur est en train d'évaluer si l'instruction comme faux, même si je sais que pour un fait, il doit être vrai.

public long? Value
{
    get { return Int64.Parse(ddlAggerationUnitId.SelectedItem.Value); }
    set
    {
        if (ddlAggerationUnitId.Items.FindByValue(value.ToString()) != null)
        {
            ddlAggerationUnitId.SelectedValue = value.ToString();
        }
    }
}

Toute aide serait grandement appréciée! Merci!

EDIT: Voici mon Page_Load() de l'événement:

protected void Page_Load(object sender, EventArgs e)
{
    ddlAggerationUnitId.DataSource = ExternalAccount.GetAggregationUnits();
    ddlAggerationUnitId.DataTextField = "Value";
    ddlAggerationUnitId.DataValueField = "Key";
    ddlAggerationUnitId.DataBind();
}
Pouvons-nous voir votre Page_Load où vous êtes à la Valeur de réglage et de la liaison de données?
L'entourer d'essayer de les attraper et de le faire dans le catch ddlAggerationUnitId.SelectedValue = -1. Juste un travail autour de.
Édité question ci-dessus pour inclure Page_Load.
Est la liste déroulante, NULL, car il essaie de définir la SelectedValue AVANT DataBind?

OriginalL'auteur mhenry | 2010-11-30