解决方法:如何从数据列表中的复选框中获取值?复选框没有值。
<asp:DataList
ID='dlTest'
runat='server'
RepeatColumns='2'>
<ItemTemplate>
<asp:HiddenField ID='cbTestID' runat='server' value='<%# Eval("id") %>' />
<asp:CheckBox ID='cbTest' runat='server' /> <%# Eval("name") %><br />
</ItemTemplate>
// CODE BEHIND
foreach (DataListItem cb in dlTest.Items) {
CheckBox chk = (CheckBox)cb.FindControl("cbTest");
HiddenField hf = (HiddenField)cb.FindControl("cbTestID");
if(chk.Checked)
{
Response.Write(hf.Value);
}发布于 2011-09-21 10:47:18
您没有checkbox的值,因为它只是一个单独的项目,这意味着它可以是True或False,您可以像这样检查它。
if(myCheckBox.Selected)
{ do this.. or even fire an event when it changed.
or assign some number to some datatype.. }另一方面,CheckBoxList确实像任何其他列表一样有价值,您可以像下面这样获取
CheckBoxList1.SelectedValue或者你可以用checkboxlist做下面两件事
CheckBoxList1.SelectedIndex
CheckBoxList1.SelectedItem发布于 2011-09-21 11:23:02
请尝试使用文本CheckBox特性/属性而不是值。
<asp:CheckBox ID="cbTest" runat="server" Text="Text from Checkbox"/>
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = cbTest.Text;
}将其付诸实践:demo
有关CheckBoxList (使用文本属性/属性)的实现,请参阅此article。
或者,如果您确实想使用CheckBox的Value属性,请选中此article。
HTH。
https://stackoverflow.com/questions/7493901
复制相似问题