求救asp.net (c#) 在GridView中放置 RadioButtonList后问题
protectedvoidButton2_Click(objectsender,EventArgse){for(inti=0;i<this.GridView2.Ro...
protected void Button2_Click(object sender, EventArgs e) { for (int i = 0; i < this.GridView2.Rows.Count; i++) { RadioButtonList rb= this.GridView2.Rows[i].Cells [11].FindControl("RadioButtonList1") as RadioButtonList; int result=Convert .ToInt32 (rb.SelectedItem .Value ); ... ..... } } 调试发现:当不设置RadioButtonList默认选项的时候,我任意选择一个选项的时候,单击提交按钮后,提示错误int result=Convert .ToInt32 (rb.SelectedItem .Value ); 未将对象引用设置到对象的实例当设置RadioButtonList一个默认选项的时候,我任意选择一个选项的时候,发现RadioButtonList始终都是默认选项的值好像之前也遇到类似问题,不过忘记怎么解决~\(≧▽≦)/~啦啦啦求救高手们!!!!!
展开
3个回答
展开全部
在Gridview绑定数据即OnRowDataBound时添加事件,方法为"GridView1_RowDataBound"
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
RadioButtonList rbl = (RadioButtonList )e.Row.FindControl("RadioButtonList 控件名称");
if (rbl != null)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
///...........在此中间请进行RadioButtonList原有数据的绑定,否则会报错。
rbl .Text = drv["要绑定的字段对应RadioButtonList 中的选中值"].ToString();
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
RadioButtonList rbl = (RadioButtonList )e.Row.FindControl("RadioButtonList 控件名称");
if (rbl != null)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
///...........在此中间请进行RadioButtonList原有数据的绑定,否则会报错。
rbl .Text = drv["要绑定的字段对应RadioButtonList 中的选中值"].ToString();
}
}
展开全部
在错误这行前面加上是否为空的判断
if(rb.Selecteditem!=null)
result=Convert .ToInt32 (rb.SelectedItem .Value );
if(rb.Selecteditem!=null)
result=Convert .ToInt32 (rb.SelectedItem .Value );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rb.SelectedItem是获取列表控件中索引最小的一项,应该就是你默认的值
为什么不用rb.SelectedValue这个属性呢,这样直接取选定值就可以了。
为什么不用rb.SelectedValue这个属性呢,这样直接取选定值就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询