♣
关于动态控件的问题,高手进来看看,绝对不是很简单的问题!!!
asp.net中,我自己写了一个用户控件a,在这个用户控件里有一个label标签和一个datagrid控件.控件在自己的page_load函数里根据控件的id标志来查询数据库中的数据,一个值用来显示到label控件上,然后datagrid用来显示另外一些数据.然后在另外一个页面的cs文件里我动态生成几个a控件,然后赋给每个a控件不同的id值,然后把每个动态生成的控件添加到placeholder控件里. 问题就出来了,调试跟踪到用户控件里面,传的控件id值ok,根据id查询数据库也没问题.就是在page_load函数里给用户控件里的label标签和datagrid控件赋值的时候出了问题,提示:未设置对象引用到对象的实例.请各位大侠看看究竟是什么问题,该怎么去解决????????????分不够再加!!!!!!!!!
· 网友精彩回答:
顶
你是如何查找到label 和 datagrid的呢?
可以通过如下方式进行查找:
datagrid d=(datagrid)asid.findcontrol("datagridid"); //as id表示生成后的控件a的id
label label =(label)asid.findcontrol("labelid");
page_load函数里根据控件的id标志来查询数据库中的数据
改在 page_init就可以了,我做过。
可能是执行顺序的问题
用户控件的page_load事件是在主页面的page_load事件执行完成后才执行的。
你可以跟踪看看在对用户控件赋值时控件是否生成了。
另外:建议用户控件中的生成动态控件的代码不要放在page_load里。可以放在oninit里。
oninit -- 在页面加载前执行,先于所有的page_load事件
private void page_load(object sender, system.eventargs e)
{
strbigclassid = this.id.split (_)[2].trim () ; //这个没问题
lbbigclassname.text = getbigclassname(strbigclassid) ;
if(!ispostback){ //********************
binddatagrid() ;
}
}
用户控件usercontrol并不是dg_forumclass,这个类只是你设计的用户控件的codebehinde类,真正由asp.net动态编译生成的控件是另外一个编译到操作系统临时目录中的、从dg_forumclass继承的类。因此,你使用
dg_forumclass dg = new dg_forumclass ()
这种语法虽然得到一个usercontrol,但是实际上比真正你想要的用户控件少初始化很多东西。
动态得到用户控件,使用:
dg_forumclass dg = this.page.loadcontrol("ascx文件的虚拟路径");
- 更多问题:
- · 关于1950端口和Microsoft Virtual Machine 的问题
- · 用ASP怎样得到一个文件夹下的文件数目
- · 如何优化一个JPEG图像
- · PHP里>>>和===是什么意思?
- · 请各位帮忙看看这段ASP.NET中datagrid分页怎么不行?
- · 关于大段文章的还行问题
- · WEB系统在EXCEL中加载图片的问题,请高手赐教.
- · 在视图中作了一个按钮,请高手看一下按钮代码问题?
- · 超难,VC软件与VB软件的进程间通信
- · 刚装完XP系统,什么也没有了.请问Borland JBuilder 2005企业版哪里有下载的? 解决问题给全分.谢谢!
- · 设计模式在多层开发中的难点(大家帮看看)
- · 昨天晚上同事为庆祝其女朋友的生日,唱了一首他惟一会的一首经典英文歌,唱完第一句大家都做了一个夸张的动作
- · 用adoquery查询表的分组,然后分别打印每组数据,fastreport 如何实现?抱歉只有20分
- · 急!!请T-SQL前辈指点关于动态组装查询语句的错误
- · 主窗口的TreeView總在子窗口的前面,如何讓他總顯示在子窗口的後面?
- · 请问按钮可以加背景吗
- · RedHat专题
- · JPEG技术文档 | JPEG
- · IEEE技术文档
- · CGI专题
- · Perl专题 | Perl
- · IPv6技术文档
- · bios升级
- · php后门
- · 龙域
- · 神域
- · borland builder
- · borland jb
- · 文件备份
- · xp备份
- · adsl modem
- · adsl ip
- · 在R5的管理客户端,如何用server.id来签名设计元素
- · 全球知名3D设计软件行业盛会首度移师中国
- · 形象设计
- · 三维自然景观设计大师Vue 5 Esprit
- · 程序设计
- · Photoshop7.0之系统优化策略
- · 速成高手 Photoshop中文版数码全攻略
- · photoshop字体
- · 火狐浏览

