Bonjour,
Pour gérer les exception de dropdownlist bindé, j'ai crée une
petit méthode qui me permet de gérer la fiat que certaines entrée sont
incorrects :
Code:
public static void DDL_Helper(DropDownList ddl, string value)
{ try { ddl.SelectedValue = value; ddl.EnableViewState = false; } catch
(ArgumentOutOfRangeException) { ddl.EnableViewState = false; ListItem
wrong = new ListItem("Indéterminable", string.Empty); ddl.ToolTip =
ddl.ToolTip + "\n la valeur étant non conforme, vous devez la
renseigner pour pouvoir enregister les modifications";
ddl.Items.Add(wrong); ddl.SelectedValue = wrong.Value;
ddl.EnableViewState = true; } catch (Exception ex) {
System.Diagnostics.Debug.Write(ex); } }
et ainsi dans à chaque fois que je lie une ddl à une donnée j'utitlise :
DDL_Helper(ma_ddl,la_valeur_à_binder);
Hors, ceci fonctionne avec intermittences parfois l'exception
est gérer parfois non. Donc j'ai essyaer
pour contourner le probleme de surcharger la methode de rendu du
controle mais rien y fait.
Code:
public class DropDownList :
System.Web.UI.WebControls.DropDownList { protected override void
PerformDataBinding(IEnumerable dataSource) { try {
base.PerformDataBinding(dataSource); } catch (Exception) {
this.ClearSelection(); this.EnableViewState = false; ListItem wrong =
new ListItem("Indéterminable", string.Empty); this.ToolTip =
this.ToolTip + "\n la valeur étant non conforme, vous devez la
renseigner pour pouvoir enregister les modifications";
this.Items.Add(wrong); this.SelectedValue = wrong.Value;
this.EnableViewState = true; } } protected override void
OnDataBinding(EventArgs e) { try { base.OnDataBinding(e); } catch
(Exception) { this.ClearSelection(); this.EnableViewState = false;
ListItem wrong = new ListItem("Indéterminable", string.Empty);
this.ToolTip = this.ToolTip + "\n la valeur étant non conforme, vous
devez la renseigner pour pouvoir enregister les modifications";
this.Items.Add(wrong); this.SelectedValue = wrong.Value;
this.EnableViewState = true; } } }
Quelqu'un pourrait il me donner la bonne méthode
pour gérer cette exception à coup sur, merci d'avance.