C# 从单选按钮获取值

C# 从单选按钮获取值,c#,asp.net,C#,Asp.net,在我的.aspx页面中有一个单选按钮,在其背后的代码中,我编写了以下内容: if (rbOnlyCreatedorUpdated.Checked == true) { searchObject.CreatedOrUpdatedOnValidDate = SearchCritera.OnlyCreatedOrUpdated; } else if (rbOnlyOld.checked == true) { searchObject.CreatedOrUpdatedOnValidDat

在我的.aspx页面中有一个单选按钮,在其背后的代码中,我编写了以下内容:

if (rbOnlyCreatedorUpdated.Checked == true)
{
    searchObject.CreatedOrUpdatedOnValidDate = SearchCritera.OnlyCreatedOrUpdated;
}
else if (rbOnlyOld.checked == true)
{
    searchObject.CreatedOrUpdatedOnValidDate = SearchCritera.OnlyOld;
}
else
{
    searchObject.CreatedOrUpdatedOnValidDate = SearchCritera.AllChanged;
}
我真的不喜欢上面这些。它感觉笨拙和不干净。我希望单选按钮本身返回一个值(名为RbonlyCreatedOrUpdateOnValidDate,即GroupName)


是否有可能或以上方法是获取值的正确方法?

如果使用
RadioButtonList
控件,则可以使用
IdOfRadioButtonList.SelectedValue
访问所选RadioButtonList值。 这将给您一个字符串,因此您仍然需要自己进行到SearchCriteria类属性之一的转换

如果它让你感觉更好,你可以把它变成一个三元运算符,如下所示:

searchObject.CreatedOrUpdatedOnValidDate = 
    rbOnlyCreatedorUpdated.Checked ? SearchCritera.OnlyCreatedOrUpdated : 
    rbOnlyOld.checked ? SearchCritera.OnlyOld : 
    SearchCritera.AllChanged;

从上面的代码中,您似乎有两个单选按钮列表?Check
Checked
属性的
RadioButton
将返回
true
false
。因此,无需与
布尔值(
true
false
)进行比较。与论坛网站不同,我们不使用“感谢”、“感谢任何帮助”或签名。见”。