ASP.NET(c#)
这是一个选择题答题页面,在DataGrid里面的一个模板列根据每一行记录的题号动态插入RadioButtonList以及选项。例如这是DataGrid里的两行记录
题号 题干 选项
1 1+1=? ◎A.1
◎B.2
◎C.3
----------------------
2 2+2=? ◎A.4
◎B.5这个我已经实现了,然后页面上定义一个“提交”按钮,按下后要遍历DataGrid的每一个记录的RadioButtonList,将选中项记录然后插入数据库。这里就出问题了。代码贴出来:
ItemDataBound里面动态生成RadioButtonList代码:
RadioButtonList rb = new RadioButtonList();
rb.ID="rbid"; if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Cells[2].Controls.Add(rb);
}
添加选项:
rb.Items.Add(dr["Heading"].ToString()+"."+dr["OptionText"].ToString());//Heading是选项标号ABCD,OptionText是选项内容
"提交"按钮里面的代码:
private void bt_submit_Click(object sender, System.EventArgs e)
{
for ( int i=0; i<this.DataGrid1.Items.Count; i++ )
{
int btqid=Convert.ToInt32(((Label)(this.DataGrid1.Items[i].FindControl("QuestionIDItem"))).Text);//获取题号 RadioButtonList rblist = new RadioButtonList();
rblist = (RadioButtonList)this.DataGrid1.Items[i].Cells[2].FindControl("rbid");//这里出问题,错误是“未将对象引用设置到对象的实例。”
string answer=rblist.SelectedValue.Substring(0,1);
}
}
(RadioButtonList)this.DataGrid1.Items[i].Cells[2].FindControl("rbid");这句我调试监视结果是:
函数this.DataGrid1.Items[i].Cells[2].FindControl”已求值并返回空
为什么找不到rbid?datagrid中动态插入RadioButtonList后该如何取得RadioButtonList选中项的值?
这是一个选择题答题页面,在DataGrid里面的一个模板列根据每一行记录的题号动态插入RadioButtonList以及选项。例如这是DataGrid里的两行记录
题号 题干 选项
1 1+1=? ◎A.1
◎B.2
◎C.3
----------------------
2 2+2=? ◎A.4
◎B.5这个我已经实现了,然后页面上定义一个“提交”按钮,按下后要遍历DataGrid的每一个记录的RadioButtonList,将选中项记录然后插入数据库。这里就出问题了。代码贴出来:
ItemDataBound里面动态生成RadioButtonList代码:
RadioButtonList rb = new RadioButtonList();
rb.ID="rbid"; if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
e.Item.Cells[2].Controls.Add(rb);
}
添加选项:
rb.Items.Add(dr["Heading"].ToString()+"."+dr["OptionText"].ToString());//Heading是选项标号ABCD,OptionText是选项内容
"提交"按钮里面的代码:
private void bt_submit_Click(object sender, System.EventArgs e)
{
for ( int i=0; i<this.DataGrid1.Items.Count; i++ )
{
int btqid=Convert.ToInt32(((Label)(this.DataGrid1.Items[i].FindControl("QuestionIDItem"))).Text);//获取题号 RadioButtonList rblist = new RadioButtonList();
rblist = (RadioButtonList)this.DataGrid1.Items[i].Cells[2].FindControl("rbid");//这里出问题,错误是“未将对象引用设置到对象的实例。”
string answer=rblist.SelectedValue.Substring(0,1);
}
}
(RadioButtonList)this.DataGrid1.Items[i].Cells[2].FindControl("rbid");这句我调试监视结果是:
函数this.DataGrid1.Items[i].Cells[2].FindControl”已求值并返回空
为什么找不到rbid?datagrid中动态插入RadioButtonList后该如何取得RadioButtonList选中项的值?
解决方案 »
- 这个没好的办法解决吗?
- VS2008中为什么我拖进去的.rpt(水晶报表)不会产生对应的cs文件?
- CSDN提问的时候出现的相关问题是如何查询的啊?
- 紧急求助关于ASP.NET中,GRIDVIEW显示问题
- .net2.0中FileUpload控件使用问题。
- 如何清空,session中的值,为什么我用Session.Abandon();Session.Clear();方法后,直接通过地址栏输入要验证的网页,还见到了原来的sessio
- 有做过web part的兄弟没有?请给点建议
- 请文怎么修改web.config文件
- asp.net+C#如何弹出消息框?
- VISUAL .NET BETA 2中文版4号盘问题???
- 请教Session问题
- asp.net跨界面HiddenField传值问题
相关问题就没有了