Ich habe eine DataList
erstellt, in der 2 Label
und eine RadioButtonList
sind. Die 2 Label
enthält Fragen-ID und die Frage, in der die Fragen-ID ausgeblendet ist, und die RadioButtonList
enthält die Optionen. Alle diese Kontrollen sind beschränkt. Hier ist der Code:
Get SelectedValue von RadioButtonList auf SelectedIndexChanged Ereignis in einem Datenverteiler mit C#
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:Label ID="Que_id" Visible="false" runat="server" Text='<%# Eval("question_id") %>'></asp:Label>
<asp:Label ID="Question" runat="server" Text='<%# Eval("question") %>'></asp:Label>
<asp:RadioButtonList ID="RadioButtonList1" AutoPostBack="true" RepeatColumns="2" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">
</asp:RadioButtonList>
</ItemTemplate>
</asp:DataList>
Was ich versuche zu tun ist, wenn Benutzer eine Option in der RadioButtonList
wählen die gewählte Option und seine Frage-ID sollte in der Datenbank gespeichert bekommen. Es ist einfach, das gesamte DataList
beim Klickereignis zu speichern, aber ich möchte die Antwort nebeneinander speichern, wenn der Benutzer die Option für eine bestimmte Frage auswählt.
Ich weiß nicht, wie die Frage ID auf SelectedIndexChanged
Ereignis erhalten, aber ich habe versucht, den folgenden Code auf SelectedIndexChanged
, um den ausgewählten Optionswert zu erhalten, aber das funktioniert auch nicht.
RadioButtonList rbl = (RadioButtonList)DataList1.FindControl("RadioButtonList1");
string answer=rbl.SelectedValue;
Weitere Klärung brachte ich diese Daten aus der Datenbank in einem DataSet
und filtriert es für die Frage, ID, Frage und Optionen. Die Werte werden während des Page_Load im if (! IsPostBack) festgelegt.
Informationen benötigen, auf dem Zustand, den Sie die Werte in Code hinter setzen. Ist diese Seite geladen? können Sie versuchen, 'wenn' - setzen Sie Liste Optionsfeld Daten oder unten versuchen, 'String fooValue = "foo"(IsPostBack!); ' ' // betrachte "foo" wird in der Datenbank gespeichert. Ordnen Sie es einer Variablen zu und verwenden Sie es ' ' rbl.SelectedIndex = rbl.Items.IndexOf (rbl.Items.FindByValue (fooValue)); ' – Thennarasan
@Thennarasan lieferte die Informationen, überprüfen Sie es bitte. –