Bonjour à tous,

Je n'arrive pas à recupérer le ClientID d'un textbox créé dynamiquement, c'est toujours l'ID qui est recupéré.

Code Behind
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
  if (IsControlAdded)
  {
    AfficheMonID();
  }
}
}
 
 
private void AfficheMonID()
{
TextBox tb1 = null;
tb1.ID ="monID";
 
monImage.Attributes.Add("onclick", "afficheClientID('" + tb1.ClientID + "');");
}
 
protected override void OnInit(EventArgs e)
{
AfficheMonID();
base.OnInit(e);
}
 
        public bool IsControlAdded
        {
            get
            {
                if (ViewState["IsControlAdded"] == null)
                    ViewState["IsControlAdded"] = false;
 
                return (bool)ViewState["IsControlAdded"];
            }
 
            set
            {
                ViewState["IsControlAdded"] = value;
            }
        }
Dans ma page aspx:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
    <script type="text/javascript">
        function afficheClientID(strChampCible) {
            alert("strChampCible: " + strChampCible);
                       return false;
        }
    </script>
Pour des contôles non dynamiques, ce code fonctionne parfaitement, mais pour ceux créer dynamiquement, c'est l'ID qui est récupéré et non le CLIENTID.

Merci d'avance pour votre aide.