2013-05-22 28 views
8

Kullanıcı "Değişiklikleri Kaydet" düğmesini tıkladığında, tekrarlayıcı içindeki tüm onay kutularının değerlerini almam gerekir. Değerleri alamıyorsam, kimlik de iyi.Tekrarlayıcıdaki tüm onay kutularının değerlerini al

Usta sayfa kodu: Yanlış yapıyorum

protected void SaveNewsletterChanges_submit(object sender, EventArgs e) 
{ 
    //the count of the items in the repeater is 2 
    //but the aItem is null 
     foreach(RepeaterItem aItem in newsletter_repeater.Items){ 
     string myId = aItem.ID; 
    } 
} 

: Burada

<ul class="bulletless"> 
    <asp:Repeater runat="server" ID="newsletter_repeater"> 
     <ItemTemplate> 
      <li><input type="checkbox" value='<%#Eval("id")%>' id='<%#Eval("id")%>'/> <%#Eval("displayTitle")%></li> 
     </ItemTemplate> 
    </asp:Repeater> 
</ul> 

<asp:Button runat="server" CssClass="editButtonOff" Text="Save Changes" ID="SaveNewsletterChanges" OnClick="SaveNewsletterChanges_submit" /> 

arkasında benim kodudur?

cevap

9

İlk olarak, onay kutunuza runat="server" kodunu eklemeniz gerekir. İkinci olarak, onay kutusunu değiştirmeyen bir kimliğe atamanız gerekir. id="chkDisplayTitle"

Üçüncüsü, şöyle tekrarlayıcı öğelere erişmek:

foreach (RepeaterItem item in CourseAreaRptr.Items) 
     { 
      HtmlInputCheckBox chkDisplayTitle = (HtmlInputCheckBox)item.FindControl("chkDisplayTitle"); 
      if (chkDisplayTitle.Checked) 
      { 
       //HERE IS YOUR VALUE: chkAddressSelected.Value 
      } 
     } 
tekrarlayıcı benzersiz istemci tarafı id yapma ilgilenir
İlgili konular