20编程21编程爱好者22vb编程,23数控编程24编程中国25编程论坛26编程语言27游戏编程28编程软件下载29编程工具30socket编程31网络编程32编程器33c语言编程,34flash编程35编程软件36数控车床编程37windows编程38编程入门,39windows核心编程40cnc编程41vc 编程,42linux 编程43asp编程44vb编程实例45串口编程46手机编程47编程教程48plc编程,49单片机编程50vc 网络编程51excel编程,52unix网络编程53编程学习,54编程之道55数据库编程56单片机编程器57黑客编程58计算机编程59网页编程60嵌入式编程,61编程高手箴言62flash编程教程63vfp编程64windows网络编程,65编程基础66c语言编程实例67c语言编程软件68vf编程69shell编程,70vb数据库编程71matlab编程,72c语言编程工具73编程思想74php编程,75c编程76jsp编程77电脑编程技巧与维护,78三菱plc编程软件,79vb编程软件下载80pb编程81数控编程实例82asp编程工具,83c专家编程,84win32编程85数控铣床编程86asp.net高级编程,,87vc 数据库编程88vba编程89jsp高级编程90c语言编程宝典,91unix环境高级编程;92编程珠玑93delphi编程94delphi数据库编程95vb编程教程96单片机编程软件
1编程爱好者网站2vb编程网站,3电子商务网站编程4游戏编程网站5最大的编程网站6网站编程软件7可编程逻辑中文网站8网站 编程 语言9网站编程 数据库,10jsp网站编程11asp编程网站12网站编程电子书13好的编程网站,14c语言编程网站15编程门户网站16如何学习网站编程17百度网站的编程语言18vb编程乐园网站指南19wince 编程网站
1asp.net2asp教程,3asp源码4asp免费空间5asp论坛6asp代码7asp源代码8asp下载,9asp源码下载10asp木马11asp.net教程12asp学习13什么是asp14asp空间,15admin.asp dir16asp程序17asp教程下载18asp.net 2.019asp整站程序,20asp文件21十天学会asp22asp入门23asp源程序24asp实例25asp函数26asp服务器27asp.net论坛28asp id,29asp整站下载30asp网站31asp论坛下载32asp源代码下载,33asp整站34asp技术35asp access36asp.net源码37asp简介38asp免费空间申请39asp.net下载,40asp留言板41asp sql42asp 数据库43asp站长助手44asp连接数据库45asp留言本,46asp.net教程下载47asp分页48asp格式49asp论坛程序50asp.net源代码51asp软件52asp模板53asp session54asp语法,55如何打开asp文件56asp解密57asp编程58asp.net实例,59asp实例教程60asp程序下载61asp计数器62asp.net入门,63asp运行环境64asp基础教程65apache asp66asp入门教程,67asp编辑器68asp组件69asp连接access70conn.asp71asp书籍,72asp论文73asp工具74asp文件上传75asp探针76asp原代码下载77asp include78user wantpws.asp79asp split,80asp fso81asp网页制作82printpage.asp83什么是asp.net,84index.asp85asp.net datagrid86asp基础87asp replace88asp代码下载89asp新闻系统
1php论坛2免费php空间,3php下载4php源码5php mysql6php教程7php文件8php空间9apache php10什么是php11apache php mysql12php学习13php论坛下载14iis php15php cms16php入门17php blog18php手册,19php代码20php整站程序21php session22php安装23php源码下载24php配置25php源代码26php cookie27php网站28iis php mysql29php编程30php留言板31php探针32php注入33php.ini34php运行环境35index.php36php教程下载,37php论坛程序38php 文件上传39php服务器40php环境41php 函数;42php格式43php编辑器44php editor45如何打开php文件46php access47十天学会php48php模板49php xml;50php程序51php留言本52php文件怎么打开53php技术54ajax php55php简介56php注入工具57打开php文件58php语言59php mail;60php软件;61免费php mysql空间62php self63php 数组.64php分页,65php nuke66php阅读器67免费php空间申请68国外免费php空间69php程序下载70php 正则表达式71asp php,72php网站管理系统73php程序设计74php是什么文件75php 实例76php 开发工具77php 验证码78php官方网站79php学习资料
1jsp教程2jsp源码3jsp论坛4什么是jsp5jsp源代码6jsp空间7jsp学习8jsp文件9jsp mysql,10jsp入门11jsp连接数据库12jsp技术13eclipse jsp14jsp分页15jsp源代码下载16jsp access17jsp教程下载18jsp开发工具,19jsp代码20jsp简介21jsp环境配置22jsp连接mysql,23jsp实例24免费jsp空间25jsp配置26jsp session,27jsp运行环境28jsp下载29jsp网站30jsp include31jsp编程,32jsp介绍33jsp 数据库34jsp设计35jsp servlet36jsp标签37jsp应用开发详解38jsp 中文39jsp oracle40jsp论文41jsp 文件上传,42jsp高级编程43jsp源码下载44jsp 乱码45jsp开发46jsp分页显示47jsp sql48jsp连接sql49jsp 页面跳转50jsp request51eclipse开发jsp52iis jsp53jsp开发环境54jsp sqlserver,55jsp cookie56jsp服务器57jsp连接access58jsp毕业论文59jsp新闻发布系统60jsp留言板61jsp 电子书62jsp forward63jsp中文网64tomcat jsp65jsp语法66jsp留言本67asp jsp,68jsp import69jsp源程序70jsp基础71jsp毕业设计,72jsp格式73jsp 中文乱码,74jsp开发实例75jsp书籍76jsp论坛下载77jsp 上传,78jsp计数器79jsp 注释80jsp电子教程81jsp 保存用户名密码,82jsp的优点83jsp软件下载84jsp语言85jsp代码下载86jsp blog87jsp 打印88jsp手册

思顿科技-专业网站制作指南、网页设计制作教程、免费网页制作素材下载、免费学习网页制作指南,专业网站建设服务、网站制做指南、免费网页制作指南、网页制作服务、免费空间域名服务、
首页
网页教程
网页素材
收录查询
工具下载
网站欣赏
网站论坛
免费博客
建站服务

基于ASP.NET的WEB动态控件创建
你当前的位置:网站制作指南 --> 技术文档全集 (www.STasp.com)

  摘要:WEB设计中,有很多场合,页面的控件要动态创建甚至只能动态创建,这样可以增加页面的灵活性,但是给程序员带来了一些麻烦,比如要使用动态创建的控件,怎么使用,都是要求解决的问题,本文基于ASP.NET,简要介绍了页面的控件如何动态创建,同时也介绍了怎么使用这些动态创建的控件的方法。

  前言:

  自从MICROSOFT在2000年推出了.NET FRAMEWORK以来,给基于INTERNET编程的程序员带来了巨大的福音,.NET FRAMEWORK大大简化了WEB页面设计的繁杂,可见即可得的页面效果大大简化了页面设计程序员的工作任务,CODE BEHIND技术将页面与代码分离,减少了WEB页面的无序状态,其中大量可以复用的控件可以无缝的被浏览器使用,由于互联网上95%的浏览器均是MICROSOFT的INTERNET EXPLORER,程序员大可以放心的使用这些控件而不用担心浏览器的兼容性,本文从MICROSOFT的.NET和COM控件开始,给出具体例子说明如何在页面上动态创建控件,以及怎么来使用这些动态创建的控件。其中具体使用的语言是VB.NET。

  1. MICROSOFT控件

  目前用于浏览器的动态数据浏览方式主要有以下两种,(1).使用JAVA APPLET。(2).使用可以在浏览器中运用的控件。两种方法各有利弊,使用JAVA APPLET,页面执行较慢,编程复杂,可复用性不大,这种方式现在使用较少;越来越多的程序员较倾向于使用控件。其中我们在WEB中大多数时候是使用到.NET 的WEB CONTROL和HTML CONTROL以及一些数据操作控件。

  一般的,在WEB设计中,通常使用拖拽的方式,将空间放置到页面,然后设置属性就可以了,然后再后台程序中编程使用就可以了。这种方式操作起来很方便,可见即可得,同时引用这些放置好的控件也很方便,但是在有些情况下,我们却不得不要动态创建控件,比如对一一个数据库中的某一些字段,对于不同身份的用户,见到的字段数目是不一样的;还有就是对于不同身份的用户对于某一控件的使能状态是不一样的,我们不能再页面设计时采用一个标准,最好的方式就是动态创建控件,对于不同的情况,通过程序来控制,放置在页面上的控件的数目也通过程序来控制。然后通过程序来引用这些创建好的控件。
  2. 创建控件

  对于程序员来说,用例子说话是最好的方式来提供解决方案,我将在页面上动态的放置一些标签(LABEL)和文本框(TEXTBOX),这些文本框里头放置的是从DATASET取到的数据,同时我把这些文本框放置到一个表格的相应单元格里,可以实现有序的放置,首先在页面添加一个TABLE。然后根据需要创建不同的列数和行数,如下为动态创建这些文本框的代码:

DIM I AS INTEGER
FOR I = 0 TO INTROWCOUNT - 1
 DIM R AS TABLEROW = NEW TABLEROW()
 DIM C1 AS TABLECELL = NEW TABLECELL()
 DIM MYLABEL1 AS LABEL = NEW LABEL()

 ‘这里设置该LABEL的ID,对于不同的LABEL,必须设置成不同的ID,我这里设置成前缀LBL1加字段名的组合,例如LBL1XLMC等。

 MYLABEL1.ID = "LBL1" & TRIM(OLEDSFIELD.TABLES("FIELD").ROWS(I).ITEM("COLUMN_NAME")).TOSTRING()
 
 ‘下面的条件语句是为了判断数据库中在字段的值是否为空,根据条件赋予LABEL不同的文本。

 IF OLEDSFIELD.TABLES("FIELD").ROWS(I).ITEM("COLUMN_TITLE").GETTYPE.TOSTRING = "SYSTEM.DBNULL" THEN
  MYLABEL1.TEXT = ""
 ELSE
  MYLABEL1.TEXT = TRIM(OLEDSFIELD.TABLES("FIELD").ROWS(I).ITEM("COLUMN_TITLE"))
 END IF

 C1.CONTROLS.ADD(MYLABEL1)
 R.CELLS.ADD(C1)
 DIM C2 AS TABLECELL = NEW TABLECELL()
 DIM MYTEXTBOX AS TEXTBOX = NEW TEXTBOX()
 MYTEXTBOX.ID = "TXT" & TRIM(OLEDSFIELD.TABLES("FIELD").ROWS(I).ITEM("COLUMN_NAME")).TOSTRING()
 IF OLEDSRESULT.TABLES("RESULT").ROWS(0).ITEM(I).GETTYPE.TOSTRING = "SYSTEM.DBNULL" THEN
  MYTEXTBOX.TEXT = ""
 ELSE
  MYTEXTBOX.TEXT = TRIM(OLEDSRESULT.TABLES("RESULT").ROWS(0).ITEM(I))
 END IF

 IF TRIM(OLEDSFIELD.TABLES("FIELD").ROWS(I).ITEM("COLUMN_ENABLE")) = "是" THEN
  MYTEXTBOX.ENABLED = TRUE
 ELSE
  MYTEXTBOX.ENABLED = FALSE
 END IF

 C2.CONTROLS.ADD(MYTEXTBOX)
 R.CELLS.ADD(C2)
 TABLE3.ROWS.ADD(R)
NEXT

  这样就成功地添加了两列到表里,至于行数由变量INTROWCOUNT决定,其中INTROWCOUNT为取数据库时得到的记录的行数

  3. 使用动态创建的控件

  使用这些控件时,首先必须要知道这些控件的ID,对于上文所说的这些控件,由于ID名称不定,使用时必须也要根据条件来使用。比如我要找到相应的文本框的ID,就用以下代码可以实现:

DIM TXT AS TEXTBOX
TXT = ME.FINDCONTROL("TXT" & OLEDSFIELD.TABLES("FIELD").ROWS(I).ITEM("COLUMN_NAME"))

  这样就找到了要使用的文本框的这个控件,然后就可以使用相应功能。

  4. 小结

  使用动态创建控件时,难点在于怎么来操作这些动态创建的控件。本文给出了代码,本文例子在.NET 2002+WINDOWS 2000下调试通过。

 
| 关于我们 | 联系我们 | 业务合作 | 友情链接 | 网站地图 |
版权所有©思顿科技-专业网站制作指南2004-2006 在线技术支持- QQ:63127313