Liaison bidirectionnelle avec l'expression personnalisée?
-
01-11-2019 - |
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