Bonjour à tous,

Dans ma page j'ai un bouton ÉDITER, ensuite j'ai une un GridView et par la suite un ModalPopupExtender.

Le principe est simple, l'utilisateur clique sur le row de son choix, ensuite il clique sur le bouton ÉDITER en haut ce qui à pour effet d'ouvrir le PopUpExtender.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
modalPopup.Show();
Lorsque l'utilisateur clique sur le row désiré, je retiens le ID de ce row dans une variable javascript se nommand ligneSelID et je change la couleur de fond.
Côté serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
protected void gdvPoids_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
   {
       e.Row.Attributes.Add("onclick", "javascript:SelectionnerLigne('" + e.Row.Attributes.Add("onclick", "javascript:SelectionnerLigne(this," + pID + ");"); + "');");
   }
}
Côté client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
var ligneSelID;
function SelectionnerLigne( ligneID )
{
    var obj = $get( ligneID );
    obj.style.backgroundColor = ...
    ligneSelID = ligne;
}
Voilà où est le problème :

Lorsque le PopUp s'ouvre, la ligne perd sont backgroundColor... Bizarre non ? De plus, j'ai un bouton Annuler qui lui ne fait que fermer le PopPup alors je me suis dit qu'il me fallait re-sélectionner la ligne à l'aide de ma variable LigneSelID qui contient le ID de la ligne sélectionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ScriptManager.RegisterStartupScript( "Test", "var s = $get(ligneSelID)..." );
Mais lorsque je fais un $get(ligneSelID) ou document.GetElementByID(ligneSelID), ça me retourne undefined/NULL ! Pourtant la ligne est belle et bien encore visible dans ma grille...

Est-ce que j'ai louppé quelque chose ?

PS : Tous ces composants sont dans un UpdatePanel.