Question

J'utilise un GridView dans mon projet ASP.NET pour afficher et modifier certains enregistrements de la base de données. La base de données a deux colonnes: start_date et end_date. Lorsqu'un nouvel enregistrement est créé, ces colonnes contient NULL, mais elles peuvent être modifiées ultérieurement à l'aide de la commande GridView Update.

Dans GridView, j'ai deux champs de modèles (ayant des noms start_date et end_date) dans lesquels j'ai placé deux commandes de calendrier. En cliquant sur un lien de mise à jour de GridView, il renvoie toujours une erreur en raison de la liaison de la valeur nulle au calendrier. J'ai utilisé cette fonction d'assistance pour le résoudre:

protected DateTime ReplaceNull(Object param)
{
    if (param.Equals(DBNull.Value))
    {
        return DateTime.Now;
    }
    else
    {
        return Convert.ToDateTime(param);
    }
}

et a utilisé ces deux expressions personnalisées dans la date sélectionnée de Calendar Control:

ReplaceNull(Eval("start_date"))
ReplaceNull(Eval("end_date"))

Le problème est que les données bidirectionnelles liant les calendriers lors de la sélection d'une date ne met pas à jour le tableau de la base de données. Y a-t-il des solutions de contournement? Ou alternativement, une meilleure solution serait appréciée.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top