Bonjour
Quand je laisse le champ 'begdat' (d'un gridview en mode edit) vide ou tout sauf une date valide, j'ai l'erreur "Not a date 1" et le programme stoppe et je dois rentrer une date valide. Le message "Not a date 2." n'apparaît pas de la ligne 16.
Mais si j'enlève les lignes 13 à 17 en quittant le champ 'begdat' vide ou avec n'importe quoi alors je n'ai plus le message "Not a date 1" mais bien à la ligne 18 le messageVu que les conditions sont remplies pour activer la ligne 4 (champ vide ou tout sauf une date valide), pourquoi ne le fait-il pas et continue-t-il jusqu'au bout?String was not recognized as a valid DateTime
Y-a-t-il une priorité entre le code serveur et le code client?
Merci
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 protected void GridView1_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e) GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex]; TextBox begdattxt = (TextBox)row.FindControl("begdat"); if (!DateTime.TryParse(begdattxt.Text,out newDate)) { e.Cancel = true; ClientScript.RegisterClientScriptBlock(this.GetType(), "myscript", " alert('Not a date 1.');", true); } else { begdat = Convert.ToDateTime(e.NewValues["begdat"]); } if (!DateTime.TryParse(begdattxt.Text, out newDate) || !DateTime.TryParse(enddattxt.Text, out newDate)) { e.Cancel = true; ClientScript.RegisterClientScriptBlock(this.GetType(), "myscript", " alert('Not a date 2.');", true); } else if (Convert.ToDateTime(enddattxt.Text) < Convert.ToDateTime(begdattxt.Text)) { e.Cancel = true; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myscript", " alert('endate must be >= begindate.');", true); enddattxt.Focus(); } }
Partager