GridView中无法找到编辑模板中的DropDownList控件

tiger_zdy 2009-03-20 02:47:12

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
DropDownList ddl = (DropDownList)GridView1.Rows[e.RowIndex].FindControl("DropDownList1");
Updateuser.ROLEID = Convert.ToInt16(ddl.SelectedValue.ToString());

这是后台代码,后面方问ddl的值的语名出错,我看了一下局部变量,说ddl是NULL,应该是没找到下拉框的控件,不知道错出在哪,请高手指点
...全文
191 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonshineidolon 2009-03-20
  • 打赏
  • 举报
回复

设断点,调试,找到调试里面的即时


输入
GridView1.Rows[e.RowIndex].Cells[3].controls
看看 这里面控件都是啥,哪个是你想要的

GridView1.Rows[e.RowIndex].Cells[3].controls[0]
GridView1.Rows[e.RowIndex].Cells[3].controls[1]
GridView1.Rows[e.RowIndex].Cells[3].controls[2]

一点点试试看
tiger_zdy 2009-03-20
  • 打赏
  • 举报
回复
朋友们,对不住啊,我自己粗心,ID名没写对,谢谢大家,分都分给大家
tiger_zdy 2009-03-20
  • 打赏
  • 举报
回复
楼上的朋友,我的DropDownList是在编辑模板里
GridView1_RowUpdating这个事件里调用,你的方法我试过了,用单步运行,局部变量ddl是NULL,郁闷啊!高手们快解救哥们一下吧
koala_yqf 2009-03-20
  • 打赏
  • 举报
回复
你的DropDownList是在像模板里还是编辑模板里呀
还有你是在那个事件里要获取DropDownList
要是在RowDataBound这个事件下
就用e.Row.Cells["0"].FindControl("DropDownList1") as DropDownList
要是在RowDeleting和RowUpdating事件下
就用this.GridView1.Rows[e.RowIndex].FindControl("DropDownList1") as DropDownList


byl_52 2009-03-20
  • 打赏
  • 举报
回复
if(!Page.isPostBack)
{

DropDownList1.DataBind();
}
tiger_zdy 2009-03-20
  • 打赏
  • 举报
回复
楼上的朋友
DropDownList ddl = (DropDownList)GridView1.Rows[e.RowIndex].Cells[3].FindControl("DropDownList1");
我指定了单元也不行
cyz9977 2009-03-20
  • 打赏
  • 举报
回复
DropDownList ddl = (DropDownList)GridView1.Rows[e.RowIndex].Cells[0].FindControl("DropDownList1");

Cells[]不一定是0啊

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧