前台的示例代碼如下,用的是datalist控件,要顯示的是Student表中的StudentID和姓名
復制代碼 代碼如下:
<asp:DataList ID="dlTable" runat="server" >
<ItemTemplate>
<td align="center">
<asp:Label ID="lblID" runat="server" Text='<%#Eval("StudentID") %>' Visible="false"></asp:Label>
<asp:CheckBox ID="Chkbox" runat="server" />
</td>
<td>
<%#Eval("studentname") %>
</td>
<td>
<%#Eval("studentid") %>
</td>
</ItemTemplate>
</asp:DataList>
後台代碼如下:
復制代碼 代碼如下:
//new一個stringbulider的實例sbitems
StringBuilder sbitems = new StringBuilder();
foreach (DataListItem item in dlTable.Items)
{
//獲取前台控件
CheckBox chkbox = item.FindControl("Chkbox") as CheckBox;
Label lbId = item.FindControl("lblID") as Label;
//如果checkbox被check了,那麼將對應的label綁定的值賦給sbitems,以進行後續的操作,比如刪除。
if (chkbox == null || lblID== null)
{
continue;
}
if (chkbox.Checked)
{
sbitems.Append(lblID.Text.ToString());
sbitems.Append(",");
}
}
//由於多了一個逗號,所以還要remove掉逗號
if (!sbitems.ToString().Trim().Equals(string.Empty))
{
sbitems.Remove(sbitems.Length - 1, 1);
}
這樣就獲取了前台checkbox中選取的值,但是我感覺這個方法用的好像復雜了一點,各位達人如果有更好的通過C#獲取Checkbox值得方法,請賜教。本人很想知道如何使用Checkboxlist的方法。