未选择任何值时 RadioButtonList 中的 NullException 错误
NullException Error in RadioButtonList when no value is selected
我正在尝试找到一种方法,当用户没有 select 下拉列表中的值时抛出错误。我尝试了这里提供的许多解决方案。但是none好像work.This是我的代码
protected void Button1_Click(object sender, EventArgs e)
{
if (RadioButtonList1.SelectedItem.Value == null)
{
//Throw error to select some value before button click
}
if (RadioButtonList1.SelectedItem.Value == 'male')
{
//Step1
}
if (RadioButtonList1.SelectedItem.Value == 'female')
{
//Step2
}
}
尝试用
替换
if (RadioButtonList1.SelectedIndex == -1)
但这也行不通。有什么想法吗?
引自评论:
(rakesh) The actuall code executes only when a radiobutton is selected, when when user clicks without a selection i get the error - Object reference not set to an instance of an object...and NO "RadioButtonList1.SelectedItem.Value" == null does not work
这就是你的方式!错误原因是:RadioButtonList1.SelectedItem为空。所以没有值。所以:只需检查
if (RadioButtonList1.SelectedItem == null) {...}
编辑以澄清讨论:
if (RadioButtonList1.SelectedItem == null)
{
//Throw error to select some value before button click
}
else if (RadioButtonList1.SelectedItem.Value == "...")
{
....
}
将选中的项目放入变量中,调试起来会更方便:
var selectedItem = RadioButtonList1.SelectedItem;
if (selectedItem == null)
{
throw new Exception("Please select");
}
else if (selectedItem.Value == "male")
{
// step 1
}
单选按钮是特定的。如果未选择任何内容,则没有 selectedItem,因此没有不存在的对象的值。
编辑:将调试器点放在第一行,var selectedItem =.. 这样你就可以在悬停时知道它的确切值。
Edit2:始终检查您的对象是否不为空。您在评论中的错误是由于当实际对象不存在时您立即尝试访问对象 属性。
我正在尝试找到一种方法,当用户没有 select 下拉列表中的值时抛出错误。我尝试了这里提供的许多解决方案。但是none好像work.This是我的代码
protected void Button1_Click(object sender, EventArgs e)
{
if (RadioButtonList1.SelectedItem.Value == null)
{
//Throw error to select some value before button click
}
if (RadioButtonList1.SelectedItem.Value == 'male')
{
//Step1
}
if (RadioButtonList1.SelectedItem.Value == 'female')
{
//Step2
}
}
尝试用
替换 if (RadioButtonList1.SelectedIndex == -1)
但这也行不通。有什么想法吗?
引自评论:
(rakesh) The actuall code executes only when a radiobutton is selected, when when user clicks without a selection i get the error - Object reference not set to an instance of an object...and NO "RadioButtonList1.SelectedItem.Value" == null does not work
这就是你的方式!错误原因是:RadioButtonList1.SelectedItem为空。所以没有值。所以:只需检查
if (RadioButtonList1.SelectedItem == null) {...}
编辑以澄清讨论:
if (RadioButtonList1.SelectedItem == null)
{
//Throw error to select some value before button click
}
else if (RadioButtonList1.SelectedItem.Value == "...")
{
....
}
将选中的项目放入变量中,调试起来会更方便:
var selectedItem = RadioButtonList1.SelectedItem;
if (selectedItem == null)
{
throw new Exception("Please select");
}
else if (selectedItem.Value == "male")
{
// step 1
}
单选按钮是特定的。如果未选择任何内容,则没有 selectedItem,因此没有不存在的对象的值。
编辑:将调试器点放在第一行,var selectedItem =.. 这样你就可以在悬停时知道它的确切值。
Edit2:始终检查您的对象是否不为空。您在评论中的错误是由于当实际对象不存在时您立即尝试访问对象 属性。