asp.Net复选框没有值

本文关键字:复选框 Net asp | 更新日期: 2023-09-27 18:09:05

已解决:如何从数据列表中的复选框获得值?复选框没有VALUE。

<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);
    }

asp.Net复选框没有值

你没有VALUE复选框因为它只是一个单独的项目,这意味着它可以是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

尝试使用Text CheckBox属性/属性代替Value。

<asp:CheckBox ID="cbTest" runat="server" Text="Text from Checkbox"/>
protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = cbTest.Text;
}
演示:demo

有关CheckBoxList(使用Text属性/属性)的实现,请参阅本文。

或者,如果您真的想使用CheckBox的Value属性,请查看本文。

HTH .