Привет, ребята, я использовал сетку для вставки нескольких строк записи в базу данных. так выглядит мой сетчатый сет Позволяет проверять только одну радиокнопку в каждой строке сетки.
Проблема в том, что все переключатели могут быть выбраны, мне нужно выбрать только одну радиокнопку для каждой строки ... Моя веб-форма работает так, что пользователю нужно выбрать правильный ответ из двух текстовых полей с помощью переключателя, после чего мне придется отправить проверенный ответ на базу данных. Это возможно?
ASPX: `
<asp:ButtonField Text="SingleClick" CommandName="SingleClick"
Visible="False" />
<asp:TemplateField HeaderText="Question">
<ItemTemplate>
<br />
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Answer">
<ItemTemplate>
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RadioButton ID="RadioButton1" runat="server" />
<br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:RadioButton ID="RadioButton2" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<FooterTemplate>
<asp:Button ID="btnAdd" runat="server" Text="+" onclick="btnAdd_Click1" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>`
код позади:
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
//Clear the existing selected row
foreach (GridViewRow oldrow in GridView1.Rows)
{
((RadioButton)oldrow.FindControl("RadioButton1")).Checked = false;
}
//Set the new selected row
RadioButton rb = (RadioButton)sender;
GridViewRow row = (GridViewRow)rb.NamingContainer;
((RadioButton)row.FindControl("RadioButton1")).Checked = true;
}
вставить разметку сетки и связанный код – tariq
я новичок в этом, я не написал много кода позади, потому что я не получил совершенно не знаю .... Обновлено – user2376998
Почему бы вам не использовать [ radioobuttonlist] (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.radiobuttonlist.aspx)? – Emre