2017-03-10 5 views
1

Ich erstelle eine Website, die 3 Umfragen in einer SQL-Tabelle gespeichert enthält, also basierend auf der ausgewählten SurveyID wird die Seite dann durch die Fragen und eine Antwortzeile gefüllt werden, jetzt habe ich dies jetzt aber ich brauche um die Informationen abrufen zu können.Schleife durch RadioButtonList

ein Datalist verwenden, jede Frage eine Linie erzeugt, und in der itemtemplate meiner Datalist (Fragen) Ich habe folgendes gesagt:

<asp:DataList ID="QuestionList" runat="server" DataKeyField="QuestionID" DataSourceID="QuestionData"> 
    <ItemTemplate> 
     <div class="col-md-12" id="hr"> 
      <h3> 
       <asp:Label ID="Higher_ReadingLabel" runat="server" Text='<%# Eval("Higher_Reading") %>' /></h3> 
     </div> 
     <div class="col-md-12" id="lr"> 
      <h3> 
       <asp:Label ID="Lower_ReadingLabel" runat="server" Text='<%# Eval("Lower_Reading") %>' /></h3> 
     </div> 
     <div class="col-md-12"> 
      <asp:RadioButtonList ID="AnswerList" runat="server" RepeatDirection="Horizontal" RepeatLayout="Table"> 
       <asp:ListItem Text="Excellent" Value="Excellent"></asp:ListItem> 
       <asp:ListItem Text="Very Good" Value="Very Good"></asp:ListItem> 
       <asp:ListItem Text="Good" Value="Good"></asp:ListItem> 
       <asp:ListItem Text="Fair" Value="Fair"></asp:ListItem> 
       <asp:ListItem Text="Bad" Value="Bad"></asp:ListItem> 
      </asp:RadioButtonList> 
     </div> 
    </ItemTemplate> 
</asp:DataList> 

Wenn die Schaltfläche geklickt wird einreichen, ich möchte folgendes abrufen :

  • DataKeyField des Fragen
  • Wert von Radio Karo-Taste innerhalb AnswerList

Ich gebe zu, ich bin ziemlich stumped atm, alles, was ich versucht habe, hat überhaupt nicht funktioniert, wie die SQL ist noch nicht geschrieben wollte ich nur sehen, ob die Ausgabe könnte nur mit Response.Write (value, datakeyfield) ausgeben.

Hoffe euch helfen können,

Neil

+0

u kann mehr Code von Datalist – levent

+0

teilen habe ich geändert es nur mehr Details hinzufügen –

Antwort

1

Das ist für Sie hilfreich sein können:

foreach (DataListItem datalistItem in QuestionList.Items) 
     { 
      if (datalistItem.ItemType == ListItemType.Item || datalistItem.ItemType == ListItemType.AlternatingItem) 
      { 
       var radioButtonList = datalistItem.FindControl("AnswerList") as RadioButtonList; 
       if (radioButtonList != null) 
       { 
        var selectedRadioButtonValue = radioButtonList.SelectedValue; 
        var itemDataKeyValue = QuestionList.DataKeys[datalistItem.ItemIndex]; 
        Response.Write(string.Format("QuestionID :{0}, selected option: {1} <br/>", itemDataKeyValue, selectedRadioButtonValue)); 
       } 
      } 
     } 
+0

Das ist erstaunlich levent, vielen vielen Dank! –