0
我想看看哪些checkbox
被選中,這是不是(項目剛一排,這是一個是我或不)直放站複選框從未被視爲檢查
的HTML標記我是:
<asp:Repeater runat="server" ID="rptProducts" OnItemDataBound="rptProducts_ItemDataBound">
<ItemTemplate>
<div class="panel panel-default">
<div class="panel-heading"> <%# DataBinder.Eval(Container.DataItem, "ProdType") %> </div>
<div class="panel-body">
<%# DataBinder.Eval(Container.DataItem, "ProdName") %>:
<asp:CheckBox runat="server" ID="cbSelected" Text="Yes" />
<asp:TextBox runat="server" ID="txtGroupName"></asp:TextBox>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
代碼:
if (rptProducts.Items.Count > 0)
{
for (int count = 0; count < rptProducts.Items.Count; count++)
{
foreach (RepeaterItem item in rptProducts.Items)
{
CheckBox ch = item.FindControl("cbSelected") as CheckBox;
TextBox tb = item.FindControl("tbGroupName") as TextBox;
if (ch.Checked)
{
if (selectedRB == "")
{
selectedRB = tb.Text;
}
else
{
selectedRB = selectedRB + "," + tb.Text;
}
}
}
}
}
但是它似乎總是在´if (ch.Checked)´
跳過,就好像它從來沒有檢查。
一些來自評論的編輯。這是在點擊按鈕上運行。 protected void btnSubmit_Click(object sender, EventArgs e)
中繼器約束,並顯示精細,並在文本框中txtGroupName
哪裏迭代碼被執行?在表單提交? –
當你調試ch包含什麼? – Srb1313711
你確定'FindControl'是否有效地找到了控件?另外,如果它們被標記爲'runat =「server」',則應該在代碼後面說'cbSelected.Checked'。 – ToastyMallows