未将对象引用设置到对象的实例 怎么解决??

idaydayup 2008-12-02 03:30:34
Calendar cal = (Calendar)Page.Master.FindControl("Calendar1");
DateTime date = cal.SelectedDate;
Label la = (Label)DataList2.FindControl("Label1");

la.Text = date.ToString();
这段代码运行之后出现未将对象引用设置到对象的实例 怎么解决??
望各位高手指点
...全文
264 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
idaydayup 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jiang_jiajia10 的回复:]
Label la = (Label)e.Item.FindControl("Label1"); 这样呢
[/Quote]
这样也不行啊 提示 没有Item 呢
jiang_jiajia10 2008-12-02
  • 打赏
  • 举报
回复
Label la = (Label)e.Item.FindControl("Label1"); 这样呢
idaydayup 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yfqvip 的回复:]
引用 5 楼 idaydayup 的回复:
cal的值有,但是la的值怎么看?
不好意思 我是新手 不太明白~~


可以肯定是Label la = (Label)DataList2.FindControl("Label1"); 错了。
DataList2是一个容器类控件,里面有很多控件,也包括容器类控件,例如 <table runat=server>。
DataList2.FindControl只能在DataList2里找,而不能在 <table runat=server>找。

例如:一个大盆子里面放了3个小盆子,编号为1号、2号、3号。其中2…
[/Quote]
我把Label放在 HeaderTemplate里边了 要(Label)DataList2.HeaderTemplate .FindControl("Label1");这样?可是提示错误 该怎么写呢
jrp86 2008-12-02
  • 打赏
  • 举报
回复
提前加if语句判断一下
满衣兄 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 idaydayup 的回复:]
cal的值有,但是la的值怎么看?
不好意思 我是新手 不太明白~~

[/Quote]
可以肯定是Label la = (Label)DataList2.FindControl("Label1"); 错了。
DataList2是一个容器类控件,里面有很多控件,也包括容器类控件,例如<table runat=server>。
DataList2.FindControl只能在DataList2里找,而不能在<table runat=server>找。

例如:一个大盆子里面放了3个小盆子,编号为1号、2号、3号。其中2号小盆子里放的你想要的东西(钱)。
当你用 大盆子.FindControl("钱")的时候,查找的范围是大盆子,而不能去小盆子里找,所以就找不到(钱)。
正确的写法是
大盆子.2号小盆子.FindControl("钱")
cyqlightrain 2008-12-02
  • 打赏
  • 举报
回复
嗯,1楼已经说明白了.

无语了,la的值,你在debug的时候就能看见了
tian_fang 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 idaydayup 的回复:]
cal的值有,但是la的值怎么看?
不好意思 我是新手 不太明白~~
[/Quote]
看看有没有叫Label1的控件在DataList2里
idaydayup 2008-12-02
  • 打赏
  • 举报
回复
cal的值有,但是la的值怎么看?
不好意思 我是新手 不太明白~~
肯定是是第二句错了 但是要怎么改呢
idaydayup 2008-12-02
  • 打赏
  • 举报
回复
cal的值有,但是la的值怎么看?
不好意思 我是新手 不太明白~~
tjmmcc 2008-12-02
  • 打赏
  • 举报
回复
凑热闹
tian_fang 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kingtiy 的回复:]
有可能你的cal根本就是null,或者la也是null
你调试下程序
Calendar cal = (Calendar)Page.Master.FindControl("Calendar1");
这里cal的值看下
如果没有问题,再看下
Label la = (Label)DataList2.FindControl("Label1");
这里la的值
如果都没有问题,那就应该不是出在这些代码上了
[/Quote]
说的很详细了
满衣兄 2008-12-02
  • 打赏
  • 举报
回复
FindControl没有找到相应的控件,检查下控件名字是不是写做了,查找的路径对不对。

Label la = (Label)DataList2.FindControl("Label1");
这句错的概率比较大,
要这样:DataList2.Items[i][j].FindControl("Label1");
我这么写可能不对,但是就是这个意思,在容器类控件里面找。
kingtiy 2008-12-02
  • 打赏
  • 举报
回复
有可能你的cal根本就是null,或者la也是null
你调试下程序
Calendar cal = (Calendar)Page.Master.FindControl("Calendar1");
这里cal的值看下
如果没有问题,再看下
Label la = (Label)DataList2.FindControl("Label1");
这里la的值
如果都没有问题,那就应该不是出在这些代码上了

62,074

社区成员

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

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

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

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