datalist中找不到控件DropDownList 未将对象引用设置到对象的实例.
datalist中有3个DropDownList,做为省市区三级联动,需要用到DropDownList的SelectedIndexChanged事件。可是在Selecte...
datalist中有3个DropDownList ,做为省市区三级联动,需要用到DropDownList 的SelectedIndexChanged事件。可是在SelectedIndexChanged事件中我找不到这3个DropDownList
DropDownList ddl = new DropDownList();
for (int i = 0; i <= DataList1.Items.Count - 1; i++)
{
ddl = (DropDownList)this.DataList1.Items[i].FindControl("ddl_pro");
}
错误是:未将对象引用设置到对象的实例.
断点看了一下, ddl_pro1一直为空。可是我确实有ddl_pro这个控件的,怎么办? 展开
DropDownList ddl = new DropDownList();
for (int i = 0; i <= DataList1.Items.Count - 1; i++)
{
ddl = (DropDownList)this.DataList1.Items[i].FindControl("ddl_pro");
}
错误是:未将对象引用设置到对象的实例.
断点看了一下, ddl_pro1一直为空。可是我确实有ddl_pro这个控件的,怎么办? 展开
1个回答
展开全部
你可以试试用DropDownList ddl=sender as DropDownList试试能不能用。
追问
不行啊,错误是一样的
追答
我试了 啊,可以用的,如果是模板项(itemstemplate)中,是没有问题的。如果你想绑定数据,databound事件可以绑定,也可以在外部用for绑定数据。我不知道你前台的怎么设置的,我在告诉你一些其他的访问方式吧,如果是在页脚模板项(footertemplate),可以用this.datalist1.controls[this.datalist1.conctrols.count-1].findcontrol("") as ...找到该项。
其实不同的方法有一些不同的访问方式,但
foreach (Control item in DataList1.Controls)
{
TextBox txt= item.FindControl("text1") as TextBox;
if (cb != null)
{
txt.text//这样就获取到了。
}
}
这样的方式对于读取控件的相关数据是很常用的方式,绝大部分的事件都可以以此方式读取控件,还有有个databound事件,你可以去详细了解下,你上面那个应该也没错的,只是,我不知道你具体页面设计,所以,我给你一些常用的访问方式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询