永发信息网

RadioButtonLlist单选组问题

答案:2  悬赏:20  手机版
解决时间 2021-03-05 20:37
  • 提问者网友:雨不眠的下
  • 2021-03-04 19:58
protected void Button3_Click(object sender, EventArgs e)
{
int id = 0;
try
{
id = int.Parse(RadioButtonList1.SelectedItem.Value);
//Response.Write(RadioButtonList1.SelectedValue);
}
catch
{
id = 0;
}
string str = "Server=(local);Database=Vote;Uid=sa;Pwd=123";
SqlConnection con = new SqlConnection(str);
string sql = string.Format("update Item set VoteNum=VoteNum+1 where id ={0}", id);
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
int i = cmd.ExecuteNonQuery();
con.Close();
if (i > 0)
{
YYCMS.JScript.AlertAndRedirect("投票成功!", "VoteList.aspx");
}
else
{
YYCMS.JScript.AlertAndRedirect("投票失败!", "VoteList.aspx");
}

}
这是一段投票的代码 其中
int id = 0;
try
{
id = int.Parse(RadioButtonList1.SelectedItem.Value);
//Response.Write(RadioButtonList1.SelectedValue);
}
catch
{
id = 0;
}
存在异常,每次运行都执行catch中的语句(id=0),导致“投票失败”! 去掉try catchid = int.Parse(RadioButtonList1.SelectedItem.Value);
语句报错:未将对象引用设置到对象的实例。
换成另一种方式转换数据类型id = Convert.ToInt32(RadioButtonList1.SelectedValue);报错:输入字符串的格式不正确

请问各位大侠 是什么原因
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-03-04 21:17
RadioButtonList1.SelectedItem肯定是null的,所以才会出现你说的异常。也就是说你的
RadioButtonList1事实上没有选中任何项。
全部回答
  • 1楼网友:西岸风
  • 2021-03-04 22:32
你直接用这个啊RadioButtonList1.SelectedIndex 这个是int 类型 啊 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯