ASP.NET 页面 GridView中的RadioButton怎样实现互斥?或者有没有其他的变通方法?
2个回答
展开全部
解决方法:
1.移除RadioButton控件,换成Literal控件,ID为RadioButtonMarkup
2.为GridView的RowCreated事件创建事件,RowCreated事件如下:只要在GridView中新增一行数据,就触发RowCreated事件,不用RowDataBound事件的原因是:只有当数据明确绑定到控件中才引发RowDataBound事件。处理如下:在每一行记录中,编程引用Literal控件,然后在其Text属性里面声明代码,创建RadioButton,name值为ProductGroup,id为RowSelectX,X为index值,value值也为index值。
1.移除RadioButton控件,换成Literal控件,ID为RadioButtonMarkup
2.为GridView的RowCreated事件创建事件,RowCreated事件如下:只要在GridView中新增一行数据,就触发RowCreated事件,不用RowDataBound事件的原因是:只有当数据明确绑定到控件中才引发RowDataBound事件。处理如下:在每一行记录中,编程引用Literal控件,然后在其Text属性里面声明代码,创建RadioButton,name值为ProductGroup,id为RowSelectX,X为index值,value值也为index值。
追问
实现了!
可是,怎么获取被选中的值呢?比如说,每一条数据都有唯一的Id,我选中了一条记录前的Radio,怎样在后台代码获取被选中的数据的Id?
追答
string sid="";
for (int i = 0; i < GridView1.Rows.Count; i++)
{
RadioButton rb = (RadioButton)GridView1.Rows[i].Cells[0].FindControl("RadioButton1");
if (rb.Checked == true)
{
sid= GridView1.DataKeys[i].Value.ToString() ;
break;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询