动态生成的checkbox,后面跟一个textbox,它俩一一对应

时间:2022-01-04 00:56:37
如题补充:
他俩一一对应的,postback以后,当我遍历checkbox,如果checkbox选取了,,,,,,我怎么把知道我要取哪个textbox的值

在repeater中的,实现了name的继承关系

比如checkbox的clientid是xxx_xx01_chk,这个checkbox后面跟了一个textbox,clientid的最后是_txt,那我咋知道这个checkbox对这哪个textbox啊????

应该有人明白我的意思,大家有什么好的方案没

实在不行我就replace了

if (key.EndsWith("chkPo"))
                        {
                            ProjectOrderPoOtherInfo info = new ProjectOrderPoOtherInfo();
                            
                            info.IsPO = true;
                            info.Money = Convert.ToDecimal(Request.Form[key.Replace("chkPo","txtPo")]);//这里我replace了,还有啥更好的方案没
                        }

7 个解决方案

#1


说的点有乱

#2


1.就是,,,,checkbox后面啊,跟了一个textbox,当选中这个textbox以后,我在后台去找这个textbox里的文本值。
2.这些checkbox和textbox是在repeater里的
3.postback后,当我遍历这个repeater中的所有checkbox,找到checked属性是true的项,此时,我如何去取它”设计界面在同一行“的那个textbox的值,我如何知道这个”同一个行“的那个textbox的ID是多少

明白了吗?

#3


我想大家应该很容易碰到这样的问题

#4


用JS做吧,两个都动态生成.

#5


又一大堆的js,烦了,那不行我就replace了

#6


这样就行了:


 protected void Button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < this.rpt1.Items.Count; i++)
        {
            CheckBox cbx = (CheckBox)rpt1.Items[i].FindControl("cbId");
            TextBox tbx = (TextBox)rpt1.Items[i].FindControl("txtId");
            if (cbx.Checked)
                Response.Write(tbx.Text); // TextBox的值      
        }
    }

#7


顶!

#1


说的点有乱

#2


1.就是,,,,checkbox后面啊,跟了一个textbox,当选中这个textbox以后,我在后台去找这个textbox里的文本值。
2.这些checkbox和textbox是在repeater里的
3.postback后,当我遍历这个repeater中的所有checkbox,找到checked属性是true的项,此时,我如何去取它”设计界面在同一行“的那个textbox的值,我如何知道这个”同一个行“的那个textbox的ID是多少

明白了吗?

#3


我想大家应该很容易碰到这样的问题

#4


用JS做吧,两个都动态生成.

#5


又一大堆的js,烦了,那不行我就replace了

#6


这样就行了:


 protected void Button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < this.rpt1.Items.Count; i++)
        {
            CheckBox cbx = (CheckBox)rpt1.Items[i].FindControl("cbId");
            TextBox tbx = (TextBox)rpt1.Items[i].FindControl("txtId");
            if (cbx.Checked)
                Response.Write(tbx.Text); // TextBox的值      
        }
    }

#7


顶!