c# - Asp.Net button has no ID in javascript? -


i have problems identifying asp.net control in javascript. here's simple variant of code, maybe can see error.

this function creates set of button + label, can called multiple times:

    private void addrow(panel pnl)     {         var mybutton = new button();         mybutton.text = "+";         mybutton.attributes.add("onclick", "return myjavascript();");         mybutton.attributes.add("somevariable", "foobar!");          var lblanzahl = new label();          pnl.controls.add(mybutton);         pnl.controls.add(lblanzahl);     } 

this js function button calls:

            function myjavascript(e) {                 var sender = event.target || event.srcelement;                 var somevar = sender.getattribute("somevariable");                 alert('somevar: ' + somevar);                 alert('id: ' + sender.id);             } 

the output is:

somevar: foobar!

id:

so guess correct sender, reason id empty. easiest way me be, if somehow set id of button , label myself, can give unique id every time addrow() gets called, can identify button , of course label belongs button.

what doing wrong?

you're not setting id in addrow function.

change function this:

private void addrow(panel pnl, int index) {     var mybutton = new button();     mybutton.id = "button_" + index; // add line (the index guarantee distinct id)     mybutton.text = "+";     mybutton.attributes.add("onclick", "return myjavascript();");     mybutton.attributes.add("somevariable", "foobar!");      var lblanzahl = new label();      pnl.controls.add(mybutton);     pnl.controls.add(lblanzahl); } 

you can invoke code this:

addrow(pnl, 0); addrow(pnl, 1); addrow(pnl, 2); 

Comments

Popular posts from this blog

windows - Single EXE to Install Python Standalone Executable for Easy Distribution -

c# - Access objects in UserControl from MainWindow in WPF -

javascript - How to name a jQuery function to make a browser's back button work? -