Bonjour,
Ma page est composée d'un Gridview inclus dans un updatePanel.
J'ai fais en sorte que les lignes de ma gridview soit cliquable.
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 protected void GridView_Fill(object sender, GridViewRowEventArgs e) if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes["onmouseover"] = "this.style.cursor='hand';this.style.color='red';this.style.textDecoration='underline';"; e.Row.Attributes["onmouseout"] = "this.style.color='black';this.style.textDecoration='none';"; e.Row.Style["cursor"] = "hand"; e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.GridView1, "Select$" + e.Row.RowIndex, false); } }
Pour valider cet évènement je suis obliger de redéfinir la méthode render.
Méthode render
Tout fonctionne bien sauf que lorsque je clique sur une ligne de mon gridview il ne considère pas l'évènement comme un postback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 protected override void Render(HtmlTextWriter writer) { for (int i = 0; i < this.GridView1.Rows.Count; i++) { Page.ClientScript.RegisterForEventValidation(this.GridView1.UniqueID, "Select$" + i); } base.Render(writer); }
Il se fait donc que ma DataTable est reinitialisée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 protected void Page_Init(object sender, EventArgs e) { if (!IsPostBack) { //création de la datatable init_DataTable(); } }
Comment éviter cela ?
Merci d'avance
Partager