asp.net - How to create text boxes and buttons dynamically and get the value from each text box in c#? -
i'm trying build tables dynamically text box , button in each table. tables added when pressed on button made post page , tables gone. build each table inside updatepanel when button clicked twice, postback occurred again.how can prevent potback? , then, how value inside text boxes? tnx much!
private void addtable(list<filesaving> fs) { foreach (filesaving f in fs){ updatepanel = new updatepanel(); up.id = "updatepanel-"+f.filename; up.updatemode = updatepanelupdatemode.conditional; table t = new table(); t.cssclass = "filestbl"; tablerow htr = new tablerow(); tablecell td1 = new tablecell(); image fileimg = new image(); fileimg.imageurl = "images/"+f.fileextension+".png"; td1.controls.add(fileimg); htr.cells.add(td1); tablecell td2 = new tablecell(); td2.text = f.expname; htr.cells.add(td2); tablecell td3 = new tablecell(); image expimg = new image(); expimg.imageurl = "images/magnet.png"; td3.controls.add(expimg); htr.cells.add(td3); t.rows.add(htr); tablerow mtr = new tablerow(); tablecell td4 = new tablecell(); td4.text = ""; mtr.cells.add(td4); tablecell td5 = new tablecell(); td5.text = f.teamid.tostring(); mtr.cells.add(td5); tablecell td6 = new tablecell(); image teamimg = new image(); teamimg.imageurl = "images/team3.png"; td6.controls.add(teamimg); mtr.cells.add(td6); t.rows.add(mtr); tablerow ltr = new tablerow(); tablecell td7 = new tablecell(); hyperlink downloadlink = new hyperlink(); downloadlink.attributes.add("href", "http://proj.ruppin.ac.il/igroup39/test2/tar5/tar5.zip"); downloadlink.imageurl = "images/download2.png"; downloadlink.tooltip = "לחץ להורדה"; td7.controls.add(downloadlink); ltr.cells.add(td7); tablecell td8 = new tablecell(); if (f.reportgrade != -1) { td8.text = f.reportgrade.tostring(); } else { textbox tb = new textbox(); tb.id = f.filename + "-tb"; gfn = tb.id; tb.width = 40; td8.controls.add(tb); button btn = new button(); btn.id = f.filename + "-btn"; btn.text = "הזן ציון"; btn.click += new eventhandler(btn_click); td8.controls.add(btn); } ltr.cells.add(td8); tablecell td9 = new tablecell(); image gradeimg = new image(); gradeimg.imageurl = "images/grade.png"; td9.controls.add(gradeimg); ltr.cells.add(td9); t.rows.add(ltr); up.contenttemplatecontainer.controls.add(t); page.form.controls.add(up); } } protected void btn_click(object sender, eventargs e) { if (!ispostback) { button mybtn = (button)sender; response.write(mybtn.id); } }
so after long time thinking how solved this, friend, wrote in page_load when button pressed , postback occurred page rebuild dynamic controls, button press- role of session. new code:
protected void page_load(object sender, eventargs e) { if (ispostback) { if (session["showfiles"] != null) { bool flag = (bool)session["showfiles"]; if (flag == true) { filesaving fs = new filesaving(); list<filesaving> fileslist = fs.fileslist(hiddenlbl.text); addtable(fileslist); } } } expscheduleclass escc = new expscheduleclass(); list<string> labcourses = escc.getcourselist(); // dynamically create dropdown list (aka ddl) ddlcourses = new dropdownlist(); ddlcourses.datasource = labcourses; // set data source ddlcourses.databind(); // bind data ddl control ddlcourses.autopostback = true; ddlcourses.selectedindexchanged += ddlcourses_selectedindexchanged; courseph.controls.add(ddlcourses); } private void ddlcourses_selectedindexchanged(object sender, eventargs e) { string[] coursesidarr = ddlcourses.selectedvalue.split(' '); /* courselbl.text = coursesidarr[0]; string courseid = coursesidarr[0];//take id list*/ courselbl.text = coursesidarr[2]; classlbl.text = coursesidarr[4]; currnetyearlbl.text = coursesidarr[6]; semesterlbl.text = coursesidarr[8]; courselbl.forecolor = system.drawing.color.black; currnetyearlbl.forecolor = system.drawing.color.black; semesterlbl.forecolor = system.drawing.color.black; classlbl.forecolor = system.drawing.color.black; expscheduleclass siegl = new expscheduleclass(); list<string> lessonslist = siegl.getlessonlist(coursesidarr[2]); ddllessons.datasource = lessonslist; // set data source ddllessons.databind(); } protected void ddllessons_selectedindexchanged(object sender, eventargs e) { string[] lessonsidarr = ddllessons.selectedvalue.split(' '); string lessonid = lessonsidarr[0]; lessonlbl.text = lessonid; datelbl.text = lessonsidarr[1]; lessonlbl.forecolor = system.drawing.color.black; hiddenlbl.text = lessonid; filesaving fs = new filesaving(); list<filesaving> fileslist = fs.fileslist(lessonid); addtable(fileslist); session["showfiles"] = true; } private void addtable(list<filesaving> fs) { foreach (filesaving f in fs) { updatepanel = new updatepanel(); up.id = "updatepanel-" + f.filename; up.updatemode = updatepanelupdatemode.conditional; table t = new table(); t.cssclass = "filestbl"; //------------header row------------------------------------------------ tablerow htr = new tablerow(); tablecell td1 = new tablecell(); image fileimg = new image(); fileimg.imageurl = "images/" + f.fileextension + ".png"; td1.controls.add(fileimg); htr.cells.add(td1); tablecell td2 = new tablecell(); td2.text = f.expname; htr.cells.add(td2); tablecell td3 = new tablecell(); image expimg = new image(); expimg.imageurl = "images/magnet.png"; td3.controls.add(expimg); htr.cells.add(td3); t.rows.add(htr); //------------middle row------------------------------------------------ tablerow mtr = new tablerow(); tablecell td4 = new tablecell(); td4.text = ""; mtr.cells.add(td4); tablecell td5 = new tablecell(); td5.text = f.teamid.tostring(); mtr.cells.add(td5); tablecell td6 = new tablecell(); image teamimg = new image(); teamimg.imageurl = "images/team3.png"; td6.controls.add(teamimg); mtr.cells.add(td6); t.rows.add(mtr); //------------last row------------------------------------------------ tablerow ltr = new tablerow(); tablecell td7 = new tablecell(); hyperlink downloadlink = new hyperlink(); //downloadlink.attributes.add("href", "/igroup39/test2/project/reportfiles/" + f.filename); downloadlink.attributes.add("href", "http://proj.ruppin.ac.il/igroup39/test2/tar5/tar5.zip"); downloadlink.imageurl = "images/download2.png"; downloadlink.tooltip = "לחץ להורדה"; td7.controls.add(downloadlink); ltr.cells.add(td7); tablecell td8 = new tablecell(); if (f.reportgrade != -1) { td8.text = f.reportgrade.tostring(); } else { textbox tb = new textbox(); tb.id = f.filename + "-tb"; gfn = tb.id; tb.width = 40; td8.controls.add(tb); button btn = new button(); btn.id = f.filename + "-btn"; btn.text = "הזן ציון"; btn.click += new eventhandler(btn_click); td8.controls.add(btn); } ltr.cells.add(td8); tablecell td9 = new tablecell(); image gradeimg = new image(); gradeimg.imageurl = "images/grade.png"; td9.controls.add(gradeimg); ltr.cells.add(td9); t.rows.add(ltr); up.contenttemplatecontainer.controls.add(t); page.form.controls.add(up); //filestablesph.controls.add(up); } } protected void btn_click(object sender, eventargs e) { button mybtn = (button)sender; string btnid = mybtn.id; string[] file_name = btnid.split('-'); string tbid = file_name[0] + "-tb"; string grade = ((textbox)filestablesph.findcontrol(tbid)).text; scriptmanager.registerclientscriptblock(this, this.gettype(), "alertmessage", "alert("+grade+")", true); }
Comments
Post a Comment