protected void GridView1_DataBound(object sender, EventArgs e)
{
Response.Write(GridView1.Rows.Count.ToString());
for (int i = 0; i < GridView1.Rows.Count - 1; i++)
{
DropDownList dropdownlist = (DropDownList)GridView1.FindControl("DropDownList1");
for (int j = 1; j < GridView1.Rows.Count - i; j++)
{
dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
} }
}
出现的错误是:未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 33: for (int j = 1; j < GridView1.Rows.Count - i; j++)
行 34: {
行 35: dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
行 36: }
行 37:
{
Response.Write(GridView1.Rows.Count.ToString());
for (int i = 0; i < GridView1.Rows.Count - 1; i++)
{
DropDownList dropdownlist = (DropDownList)GridView1.FindControl("DropDownList1");
for (int j = 1; j < GridView1.Rows.Count - i; j++)
{
dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
} }
}
出现的错误是:未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 33: for (int j = 1; j < GridView1.Rows.Count - i; j++)
行 34: {
行 35: dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
行 36: }
行 37:
解决方案 »
- 有没有什么方法获取gridview分页哪一行的属性?
- Excel导出,文件居然在服务器打开了,本地没反应
- ***发现导分的了,还是个星星呢,快来看看吧,我已经向版主举报了,就看版主是怎么办的了。
- 我想在基类页中使用Page.FindControl(),应该怎么写?
- 編譯器錯誤訊息: CS0029: 無法將型別 'string' 隱含轉換為 'decimal'
- 继承ihttpmodule接口实现在每个页执行前先调用一个方法,问题:方法中可否写Session?
- datagrid问题,一行输入框太多,能否弄成两行,谢谢!100分
- 用ASP.NET打开excel表,数据可以显示,但是第一格总是显示为F1,为什么?
- 救命哪!!!看asp.net源代码遇到地问题?
- 求助:为什么我在TabStrip和MultiPage中写的SelectedIndexChange事件总是不能被触发
- 母版页的一个问题
- ajaxpro 需要安装吗 ?
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList dropdownlist = e.Row.FindControl("DropDownList1") as DropDownList;
if(dropdownlist!=null)
{
for (int j = 1; j < GridView1.Rows.Count - i; j++)
{
dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
} }
}
}
{
if(e.Row.RowIndex>=0)
{
Response.Write(GridView1.Rows.Count.ToString());
for (int i = 0; i < GridView1.Rows.Count - 1; i++)
{
DropDownList dropdownlist = (DropDownList)GridView1.FindControl("DropDownList1");
for (int j = 1; j < GridView1.Rows.Count - i; j++)
{
dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
} }
}
}
protected void GridView1_DataBound(object sender,GridViewRowEventArgs e) //应该用GridViewRowEventArgs而不是EventArgs
{
// Response.Write(GridView1.Rows.Count.ToString());
//for (int i = 0; i < GridView1.Rows.Count - 1; i++)
//{
// DropDownList dropdownlist = (DropDownList)GridView1.FindControl("DropDownList1");
// for (int j = 1; j < GridView1.Rows.Count - i; j++)
// {
// dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
// } //} if (e.Row.RowType == DataControlRowType.DataRow) //判断是否是DataRow
{
if (e.Row.FindControl("DropDownList1") != null) //重点此句:如果找到,才做下面的事情,不然会出现“System.NullReferenceException: 未将对象引用设置到对象的实例”
{
DropDownList ddl = (DropDownList)e.Row.FindControl("DropDownList1"); ddl.Items.Add.Items.Add(new ListItem(j.ToString(), j.ToString()));
}
}
}
另外,应在Gridview1写上一个属性OnRowDataBound="GridView1_DataBound"
{
if(e.Row.RowType == RowType.DataRow)------应该加上一个判断(比较方法的部分内容不准确,请利用vs的智能提示来做)
{
Response.Write(GridView1.Rows.Count.ToString());
for (int i = 0; i < GridView1.Rows.Count - 1; i++)
{
DropDownList dropdownlist = (DropDownList)GridView1.FindControl("DropDownList1");
for (int j = 1; j < GridView1.Rows.Count - i; j++)
{
dropdownlist.Items.Add(new ListItem(j.ToString(), j.ToString()));
} }
}
}