我在gridview中,编辑列,然后将checkfield转换成为了模板列,当按了提交按钮后出现错误。
在后台编写的代码如下:
for (int i = 0; i < gvBallot.Rows.Count; i++) //gvBallot为gridview
{
CheckBox cbxBallot = (CheckBox)gvBallot.Rows[i].FindControl("cbxBallot1");
if (cbxBallot.Checked) //这地方出错 {
DataSet ds = (DataSet)ViewState["ballotinfo"];
string strBallotID = ds.Tables["ballotinfo"].Rows[i]["optionID"].ToString();
BallotDBUtil.UpdateBallotResult(strBallotID, ViewState["subjectID"].ToString());
}
}
出现的错误为:
未将对象引用设置到对象的实例。
哪位高手可以指点出是什么地方出了问题啊,如何解决?谢谢
在后台编写的代码如下:
for (int i = 0; i < gvBallot.Rows.Count; i++) //gvBallot为gridview
{
CheckBox cbxBallot = (CheckBox)gvBallot.Rows[i].FindControl("cbxBallot1");
if (cbxBallot.Checked) //这地方出错 {
DataSet ds = (DataSet)ViewState["ballotinfo"];
string strBallotID = ds.Tables["ballotinfo"].Rows[i]["optionID"].ToString();
BallotDBUtil.UpdateBallotResult(strBallotID, ViewState["subjectID"].ToString());
}
}
出现的错误为:
未将对象引用设置到对象的实例。
哪位高手可以指点出是什么地方出了问题啊,如何解决?谢谢
前台:
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
.....
.....后台:
for (int i = 0; i <GridView1.Rows.Count; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
//do something
}
看看Cells[]这儿索引值对不对