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这个控件的,怎么办?
展开
 我来答
江湖扒一扒
2013-11-10 · TA获得超过463个赞
知道小有建树答主
回答量:231
采纳率:80%
帮助的人:176万
展开全部
你可以试试用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事件,你可以去详细了解下,你上面那个应该也没错的,只是,我不知道你具体页面设计,所以,我给你一些常用的访问方式。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式