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
Post a Comment