CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

如果一个用户控件被多次调用,每次都会将不同的数据源绑定到用户控件里面的子控件,请问如何实现?

楼主yoshikage(3v3 AI电脑终于赢了!)2006-11-04 18:34:55 在 .NET技术 / ASP.NET 提问

如果一个用户控件被多次调用,每次都会将不同的数据源绑定到用户控件里面的子控件,请问如何实现? 问题点数:20、回复次数:4Top

1 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2006-11-04 18:45:33 得分 20

说清楚什么是“每次....”。搞不明白怎么才算“多次”。Top

2 楼yoshikage(3v3 AI电脑终于赢了!)回复于 2006-11-04 20:16:33 得分 0

多次,就是有很多次的意思,N次的意思.  
   
  比如:一个用户控件UserControl,在Defualt.aspx被放置了三个,这三个其实是同一个用户控件,而不是我们平常的做法,放三个不同的用户控件.  
   
  每次,就是单次的意思.  
   
  比如:这三个UserControl的副本里面的子控件都必须指定不同的数据源.  
   
  我想实现的效果就是,只写一个用户控件就可以随处调用,实现一个通用的用户控件,并且对这用户控件的功能进行多次开发,不断扩展,最终实现一个强大的,多功能的用户控件.Top

3 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2006-11-04 21:07:22 得分 0

我晕!  
   
  不过我明白了,你三次从同一用户控件的文件创建了三个实例。当话语从静态文件转到动态运行时内存对象的时候,我们说这是3个(独立)控件,就好像两个苹果长得一模一样味道也一样也是两个不同的苹果。  
   
  我想你如果意识到它们的实例是3个毫不相干的控件,应该对传递一个datatable之类的数据集和给它们没有什么怀疑吧,他们各自接受各自的参数。  
   
  例如,假设你从用户控件   abc.ascx(并且声明代码的后台代码的类型也是abc)三次拖入页面得到用户控件的ID分别为   abc1、abc2、abc3:  
   
  private   DataTable   _datas;  
   
  public   DataTable   DataSource{  
      get{    
            return   _datas;    
      }  
      set{    
              _datas=value;    
            //创建或者绑定该重新创建或者重新绑定的控件  
      }  
  }  
   
   
  在页面上,假设要传递给第一个控件的数据是d1,第二个是d2,第三个为d3,那么可以写:  
      (abc)abc1.DataSource=d1;  
      (abc)abc2.DataSource=d2;  
      (abc)abc3.DataSource=d3;  
  就足够了。  
   
  其实,你会做一个用户控件并且在页面上放入一个,也就基本上会了。如果一个尚且没做好,不用担忧3个怎么处理。Top

4 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2006-11-04 21:09:57 得分 0

上边应该是:  
      ((abc)abc1).DataSource=d1;  
      ((abc)abc2).DataSource=d2;  
      ((abc)abc3).DataSource=d3;  
   
  并且DataSource是写在用户控件abc.ascx或者其codebehind代码类上的接口属性代码。Top

相关问题

关键词

得分解答快速导航

  • 帖主:yoshikage
  • sp1234

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo