2013-03-28 4 views
1

Я создаю CheckBoxList, и я заполняю его динамически. Я прошел через код и, похоже, не попал внутрь следующего метода, я думаю, что значение выбранного атрибута значения всегда ложно.Как я могу получить значение списка checkbox?

<form id="form1" action="web_page.aspx"> 
    <asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="True" 
      onselectedindexchanged="CheckBoxList1_SelectedIndexChanged" > 
    </asp:CheckBoxList> 
    <br /> 
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="submit"/> 
</form> 
<div id="p" runat="server"></div> 

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    this.p.InnerHtml = "hello"; 
} 
+0

формы должны 'Runat =«сервер»' –

+0

также, разместить, как вы создаете элементы – jason

ответ

-1

Вы должны быть в состоянии бросить отправителя в список флажок, затем итерацию по элементам:

Protected Sub test(ByVal sender As Object, ByVal e As EventArgs) Handles check1.SelectedIndexChanged 
    Dim myCb As New CheckBoxList 
    myCb = Me.check1 

    For Each c As ListItem In myCb.Items 
     Dim isChecked, value, text As String 
     isChecked = c.Selected 
     If (isChecked = True) Then 
      value = c.Value 
      text = c.Text 
     End If 
    Next 
End Sub 
+0

могли бы вы проверить код? – user2211482

+0

вы не можете отправить отправителя в «CheckBox», а в «CheckBoxList». Свойство 'Text'' CheckBoxList' получает текст выбранного элемента с самым низким индексом в списке –

+0

, если вы хотите отобразить каждый выбранный элемент, [это] (http://stackoverflow.com/a/8913545/ 1574689) ответ может помочь вам –

0

Проблема может быть, что вы являются обязательными для page_load события.

Попытка связать его на page load но внутри !Page.IsPostBack

if(!Page.IsPostBack) 
{ 
    //bind here. 
} 
Смежные вопросы