如题,我在后台拼接了不定个数的input 用来给操作人员打分数,但是我同样要在后台将大的分数取出来,存数据库中,现在不会取值了,怎么办?
for (int i = 0; i < dataT.Rows.Count; i++) { stringb.Append("<div class='message'><div class='top3'>").Append(dataT.Rows[i]["Elements"]).Append("</div><div class='top3'>").Append(dataT.Rows[i]["Scoring"]); stringb.Append("分</div><div class='top4'>").Append(dataT.Rows[i]["Standard"]).Append("</div><div class='top3'><input class='input1' type='text' runat='server' width='140px' id='inputid").Append(i).Append("'name='inputid").Append(i).Append("' /></div></div>"); } span1.InnerHtml = stringb.ToString();
效果:
红框框就是input 那里可以录入数字,后台怎么取值呢?
首先给每个input设置一个name属性(如name='ipt'),不要加runat='server',然后在后台用Request.Form.GetValues("ipt");获取值集合,是个string[]。然后,该干嘛,干嘛!
哇,卡卡卡 太感谢了
可以把ID写成 id+i的形式,然后FindControl 就能找到了。
input 的id就是inputid+i 你可以看一下,怎么FindControl 呢 ?
@W宁宁: Control control = Page.ParseControl(stringb);
TextBox tb = control.FindControl("id") as TextBox;
试试
哦 猫宁 for(int i=0;i<dataT.rows.count;i++)
{
string inputvalue= (dataT.rows[i].findcontrol("inputid"+(i+1)) as htmlinput).value;
}
哦,morning 刚刚试了下FindControl 是null.........
@W宁宁: 额 你要获取正确的id嘛 还用你是input runnat来转成服务器控件的 有点不一样