C# 如何在asp.net中获取选定的radiobuttonlist?

C# 如何在asp.net中获取选定的radiobuttonlist?,c#,asp.net,C#,Asp.net,我正在为radiobuttonlist使用以下代码,默认值为yes <asp:RadioButtonList ID="RadioButtonList1" runat="server" onselectedindexchanged="radiobtnlist_SelectedIndexChanged"> <asp:ListItem Selected="True">YES</asp:ListItem> <asp:ListItem>NO

我正在为radiobuttonlist使用以下代码,默认值为yes

 <asp:RadioButtonList ID="RadioButtonList1" runat="server" onselectedindexchanged="radiobtnlist_SelectedIndexChanged">
    <asp:ListItem Selected="True">YES</asp:ListItem>
    <asp:ListItem>NO</asp:ListItem>
 </asp:RadioButtonList>
问题在于,当radiobtnlist值设置为“否”且选择未更改但已触发selectedindex更改事件时,以及当radiobtnlist设置为“是”时,未触发selectedindex更改事件


每次回发之前,我都必须找到radiobtnlist的选择,如果其值发生更改,则将数据保存在db中,但如何在列表项上找到带有默认值的radiobtnlist的选择值。

我想我明白你的意思了

默认答案为“是”,这意味着当用户希望选择“是”时,该选项已被选择,因此他们将其忽略。由于RadioList值处于单独状态,因此不会触发任何事件

根据您提供的代码,我可以看到没有“自动回邮”设置。如果是这种情况,那么我假设您正在通过提交按钮触发回发

如果您通过提交按钮触发回发,那么您可以将逻辑放在那里。这样每次都会被触发。例如:

protected void submit_click(object sender, EventArgs e) 
{
    var answerIsYes = (radiobtnlist.SelectedIndex == 0);
    //store value to DB
}

您没有指定表单是否用于编辑现有数据。如果是,那么在每次回发时将放射科医生的值存储回数据库是没有效率的。你需要考虑如何改变它,以便在值改变时只存储值。

你能用下面的方式描述这个问题:“应该发生什么”和“实际发生什么”?如何在ReavabtListListCopyDeCudichange事件中找到ListITEM的选择值。我想你只需要设置AutoPopSeC=“true”,NET将为您执行此操作。ADIOBNLIST\u SelectedIndexChanged事件在设置默认值时不起作用。您询问了
SelectedIndexChanged
。。事实并非如此。
protected void submit_click(object sender, EventArgs e) 
{
    var answerIsYes = (radiobtnlist.SelectedIndex == 0);
    //store value to DB
}