代码:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><asp:CheckBox ID="CheckBox2" runat="server" /></td>
<td><%#Eval("nid")%></td>
<td><%#Eval("ItemId")%></td>
<td><asp:Label ID="lbltm" runat="server" Text='<%#Eval("CommodityCode") %>'></asp:Label></td>
<td><asp:Label ID="lblhm" runat="server" Text='<%#Eval("ItmeName")%>'></asp:Label></td>
<td><%#Eval("CanOrder") %></td>
<td><asp:Label ID="lbldw" runat="server" Text='<%#Eval("Unit")%>'></asp:Label></td>
<td><asp:Label ID="Label1" runat="server" Text='<%#Eval("Retail")%>'></asp:Label></td>
<td><asp:Label ID="Label2" runat="server" Text='<%#Eval("zkl")%>'></asp:Label></td>
<td><asp:TextBox ID="TextBox1" runat="server" onmouseover="this.focus();this.select();" onclick="if(value==defaultValue){value='';this.style.color='#999'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" AutoPostBack="True" Text="0" ontextchanged="TextBox1_TextChanged"></asp:TextBox></td>
<td><asp:Label ID="lblzj" runat="server" ></asp:Label></td>
</tr>
</ItemTemplate>
</asp:Repeater>//后台 foreach (RepeaterItem Item1 in Repeater1.Items)
{
int i = 1;
CheckBox chk = (CheckBox)Item1.FindControl("CheckBox2");
if (chk.Checked)
{
foreach (RepeaterItem Item in Repeater1.Items)
{
Label lbltm = (Label)Item.FindControl("lbltm");//商品条码
Label lblhm = (Label)Item.FindControl("lblhm");//货名
Label lbldw = (Label)Item.FindControl("lbldw");//单位
Label lb = (Label)Item.FindControl("Label1");//零售价
Label lb2 = (Label)Item.FindControl("Label2");//折扣率
TextBox tb = (TextBox)Item.FindControl("TextBox1");//订购数量
Label lblzj = (Label)Item.FindControl("lblzj");//总金额 DataRow row = dtTable.NewRow();
row["nid"] = i;//序号
row["CommodityCode"] = lbltm.Text;
row["ItmeName"] = lblhm.Text;
row["Unit"] = lbldw.Text;
row["Retail"] = lb.Text;
row["zkl"] = lb2.Text;
row["zcoutn"] = tb.Text;
row["moneys"] = lblzj.Text;
i++;
dtTable.Rows.Add(row);
}
}
}嵌套在Repeater1 中的CheckBox2 不管是否选中都执行?
我没选中的也执行,调试的时候 if (chk.Checked) 这里老是为 true
为什么呢?
我要的结果是 ,选中了,就执行,不选中的就跳出! 拜托了
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr>
<td><asp:CheckBox ID="CheckBox2" runat="server" /></td>
<td><%#Eval("nid")%></td>
<td><%#Eval("ItemId")%></td>
<td><asp:Label ID="lbltm" runat="server" Text='<%#Eval("CommodityCode") %>'></asp:Label></td>
<td><asp:Label ID="lblhm" runat="server" Text='<%#Eval("ItmeName")%>'></asp:Label></td>
<td><%#Eval("CanOrder") %></td>
<td><asp:Label ID="lbldw" runat="server" Text='<%#Eval("Unit")%>'></asp:Label></td>
<td><asp:Label ID="Label1" runat="server" Text='<%#Eval("Retail")%>'></asp:Label></td>
<td><asp:Label ID="Label2" runat="server" Text='<%#Eval("zkl")%>'></asp:Label></td>
<td><asp:TextBox ID="TextBox1" runat="server" onmouseover="this.focus();this.select();" onclick="if(value==defaultValue){value='';this.style.color='#999'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" AutoPostBack="True" Text="0" ontextchanged="TextBox1_TextChanged"></asp:TextBox></td>
<td><asp:Label ID="lblzj" runat="server" ></asp:Label></td>
</tr>
</ItemTemplate>
</asp:Repeater>//后台 foreach (RepeaterItem Item1 in Repeater1.Items)
{
int i = 1;
CheckBox chk = (CheckBox)Item1.FindControl("CheckBox2");
if (chk.Checked)
{
foreach (RepeaterItem Item in Repeater1.Items)
{
Label lbltm = (Label)Item.FindControl("lbltm");//商品条码
Label lblhm = (Label)Item.FindControl("lblhm");//货名
Label lbldw = (Label)Item.FindControl("lbldw");//单位
Label lb = (Label)Item.FindControl("Label1");//零售价
Label lb2 = (Label)Item.FindControl("Label2");//折扣率
TextBox tb = (TextBox)Item.FindControl("TextBox1");//订购数量
Label lblzj = (Label)Item.FindControl("lblzj");//总金额 DataRow row = dtTable.NewRow();
row["nid"] = i;//序号
row["CommodityCode"] = lbltm.Text;
row["ItmeName"] = lblhm.Text;
row["Unit"] = lbldw.Text;
row["Retail"] = lb.Text;
row["zkl"] = lb2.Text;
row["zcoutn"] = tb.Text;
row["moneys"] = lblzj.Text;
i++;
dtTable.Rows.Add(row);
}
}
}嵌套在Repeater1 中的CheckBox2 不管是否选中都执行?
我没选中的也执行,调试的时候 if (chk.Checked) 这里老是为 true
为什么呢?
我要的结果是 ,选中了,就执行,不选中的就跳出! 拜托了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货