基于asp.net的web页面动态控件创建以及使用
前言
自从Microsoft在 年推出了 net framework以来 给基于internet编程的程序员带来了巨大的福音 net framework大大简化了web页面设计的繁杂 可见即可得的页面效果大大简化了页面设计程序员的工作任务 code behind技术将页面与代码分离 减少了web页面的无序状态 其中大量可以复用的控件可以无缝的被浏览器使用 由于互联网上 %的浏览器均是Microsoft的Internet Explorer 程序员大可以放心的使用这些控件而不用担心浏览器的兼容性 本文从Microsoft的 net和控件开始 给出具体例子说明如何在页面上动态创建控件 以及怎么来使用这些动态创建的控件 其中具体使用的语言是vb net
Microsoft控件
目前用于浏览器的动态数据浏览方式主要有以下两种 ( ) 使用java applet ( ) 使用可以在浏览器中运用的控件 两种方法各有利弊 使用java applet 页面执行较慢 编程复杂 可复用性不大 这种方式现在使用较少 越来越多的程序员较倾向于使用控件 其中我们在web中大多数时候是使用到 net 的web control和 control以及一些数据操作控件
一般的 在web设计中 通常使用拖拽的方式 将空间放置到页面 然后设置属性就可以了 然后再后台程序中编程使用就可以了 这种方式操作起来很方便 可见即可得 同时引用这些放置好的控件也很方便 但是在有些情况下 我们却不得不要动态创建控件 比如对一一个数据库中的某一些字段 对于不同身份的用户 见到的字段数目是不一样的 还有就是对于不同身份的用户对于某一控件的使能状态是不一样的 我们不能再页面设计时采用一个标准 最好的方式就是动态创建控件 对于不同的情况 通过程序来控制 放置在页面上的控件的数目也通过程序来控制 然后通过程序来引用这些创建好的控件
创建控件
对于程序员来说 用例子说话是最好的方式来提供解决方案 我将在页面上动态的放置一些标签(label)和文本框(textbox) 这些文本框里头放置的是从dataset取到的数据 同时我把这些文本框放置到一个表格的相应单元格里 可以实现有序的放置 首先在页面添加一个table 然后根据需要创建不同的列数和行数 如下为动态创建这些文本框的代码
Dim i As Integer
For i = To IntRowCount
Dim r As TableRow = New TableRow()
Dim c As TableCell = New TableCell()
Dim myLabel As Label = New Label()
这里设置该label的ID 对于不同的label 必须设置成不同的ID 我这里设置成前缀lbl 加字段名的组合 例如lbl xlmc等
myLabel ID = Lbl & 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
myLabel Text =
Else
myLabel Text = Trim(OleDsField Tables( Field ) Rows(i) Item( column_title ))
End If
c Controls Add(myLabel )
r Cells Add(c )
Dim c 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( ) Item(i) GetType ToString = System DBNull Then
mytextbox Text =
Else
mytextbox Text = Trim(OleDsResult Tables( Result ) Rows( ) Item(i))
End If
If Trim(OleDsField Tables( Field ) Rows(i) Item( column_enable )) = 是 Then
mytextbox Enabled = True
Else
mytextbox Enabled = False
End If
c Controls Add(mytextbox)
r Cells Add(c )
Table Rows Add(r)
Next
这样就成功地添加了两列到表里 至于行数由变量IntRowCount决定 其中IntRowCount为取数据库时得到的记录的行数
使用动态创建的控件
使用这些控件时 首先必须要知道这些控件的ID 对于上文所说的这些控件 由于ID名称不定 使用时必须也要根据条件来使用 比如我要找到相应的文本框的ID 就用以下代码可以实现
Dim txt As TextBox
txt = Me FindControl( txt & OleDsField Tables( Field ) Rows(i) Item_
( column_name ))
这样就找到了要使用的文本框的这个控件 然后就可以使用相应功能
小结
lishixinzhi/Article/program/net/201311/15782
asp.net 哪些网站
ASP.NET主要应用在一些大型和重要的网站上,包括但不限于微软官网、淘宝、京东等电商平台以及许多企业级应用。微软官网:由于ASP.NET是微软开发的技术,微软官网自然采用了ASP.NET技术构建,用以支持其云服务、开发工具和产品的在线服务等功能。电商平台:很多大型电商平台如淘宝、京东等也广泛应用了ASP.NET...
asp.net是什么
ASP.NET是一种用于构建动态网站的开放源代码Web开发框架。ASP.NET是微软公司推出的一种基于.NET框架技术的Web应用程序开发平台。它提供了一种集成化的开发环境,可以帮助开发者创建各种动态网站和Web应用程序。ASP.NET不仅仅是一种技术,更是一种完整的生态系统,包含了丰富的库、工具和框架,可以大大简化...
ASP.NET构架?B\/S?三层构架?这几个有什么关系吗?
三层架构指mvc,相对于asp.net的webform,三层架构是一种程序设计模式,应该说是一种最佳实践模式,把页面显示、数据获取,逻辑处理分单元实现,降低耦合性,不限于asp.net,其他程序语言都会使用。关系嘛,使用asp.net架构,采用三层架构的设计模式,实现一个b\/s的程序。
aspnet是什么账户?
ASP.NET是一种Web应用程序框架的账户。ASP.NET是一个用于构建动态Web应用程序的平台,它建立在互联网的基础上,可以为Web应用程序的开发人员提供一套完整的服务。它是一个开源的平台,并且被广泛地应用于构建企业级的Web应用程序。在ASP.NET平台上进行开发时,开发者会使用到一些账户信息,这些信息主要是...
asp.net是什么?
ASP.NET就是属于WebForm,也就是平时说的B\/S模式的开发。而WinForm就是属于C\/S模式。.NET有很多种语言组成,比如C#、 VB.NET、J#、Jsript、Managed C++,但是都是运行在.NET FrameWork Run Time底下的。Asp.NET可以用C#或VB.NET来开发。编译后形成CLR,通过服务器的IIS+.NET FrameWork再次编译来...
asp.net mvcASP.NET MVC 2.0
ASP.NET MVC 2.0 的正式发布是由Scott Gu在博客上宣布的,这个版本特别适用于Visual Studio 2008和基于ASP.NET 3.5的Visual Web Developer 2008 Express环境。在2010年4月12日发布的Visual Studio 2010和Visual Web Developer 2010的正式版本中,已经内置了对ASP.NET MVC 2的支持,无需额外安装,这...
.net 框架有哪些
1. ASP.NET ASP.NET是微软开发的用于构建动态网站的开源Web框架。它提供了一种简单的编程模型,使得开发者可以轻松地创建基于Web的应用程序。ASP.NET支持多种编程语言,如C#和VB.NET等。其最新的版本ASP.NET Core提供了跨平台支持,并增强了性能、安全性和可扩展性。2. Entity Framework Entity ...
ASP和asp.net有什么区别的呢?最主要的区别是什么呢?
第一,从编程语言种类看区别。ASP用VBScript、JavaScript等简单容易的脚本语言。结合HTML代码,即可快速完成网站的应用程序,实现动态网页技术。ASP.NET所支持的编程语言是指这种语言的功能全集(而不是子集),所以,ASP.NET中每种编程语言的功能要比ASP中使用的VB script和Java Script更为强大。第二,从...
asp.net 和.net和C#.net和C#有什么不一样。
1、asp.net是一种用来快速创建动态Web网站的技术,不是语言,它使用C#(或者vb.net)为开发语言。asp.net是.net平台下的一个框架,是用于开发Bs网站的一种技术。2、C#是一种面向对象的编程语言;3、net只是一个框架,一个开发平台,.net中所有的编程语言,比如c# vb.net等编写的程序必须在.net ...
Barcode Professional for ASP.NET主要功能
Barcode Professional for ASP.NET是一个功能强大的工具,它专注于条形码生成和处理。该软件支持多种条形码标准,包括68 Linear\/1D & Postal Barcode Simbologies,以及1D、2D的条码图像生成,确保了广泛的应用场景。它提供了校验和计算和自动值验证的功能,确保数据的准确性和完整性。它采用.NET技术,特别...
书怖参七: ASP 工作原理 当在Web站点中融入ASP功能后,将发生以下事情: 1、用户向浏览器地址栏输入网址,默认页面的扩展名是.asp. 2、浏览器向服务器发出请求. 3、服务器引擎开始运行ASP程序. 4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容. 5、页面信息发送到浏览器
昌江区17266747469: 请简述ASP动态网页的处理流程. - ?
书怖参七: ASP动态网页中可以包含服务器端脚本,安装在WEB服务器计算机上的应用程序扩展软件负责解释并执行这些脚本,该软件的文件名为ASP.DLL,通常成为ASP引擎,也成为应用程序服务器.(1)在客户端计算机上,用户在浏览器的地址栏中...
昌江区17266747469: asp.net动态网页制作和使用要注意些什么 - ?
书怖参七: *.js 的文件是 Javascript 的文件,存放一些客户端脚本*.css 文件是样式表文件,网页的样式就靠它控制 至于你说到的性能问题,不是一天两天就能学会的,有的人一辈子都在研究性能问题.这不仅仅和服务器有关,也和你的代码的逻辑、算法、...
昌江区17266747469: ASP.NET是什么 - ?
书怖参七: 分析: ASP.NET不是一种语言,而是创建动态Web页的一种强大的服务器端技术,它是Microsoft .NET Framework中一套用于生成Web应用程序和Web服务的技术.ASP.NET页在服务器上执行,并生成发送到桌面或浏览器的标记(如 HTML、...
昌江区17266747469: 关于动态网页设计(ASP)!!! - ?
书怖参七: ASP有两个含义:一是英文Application Service Provider的缩写,意思是网络应用服务供应商;另一个是英文Active Server Page的缩写,是微软推出的一种动态网页技术. Microsoft Active Server Pages 即我们所称的 ASP ,其实是一套微软开发...
昌江区17266747469: asp.net 怎么动态生成静态 html 页面,高手们给例子..?
书怖参七:源代码另存为.htm文件就可以了 不好意思,刚才着急没看清问题具体描述,下面给出详细解答 ASP.NET动态转静态页面有2种解决方案:第一种方法 使用模板转换,步骤如下: 1、建立MyConvert.cs类文件 usingSystem; //记得添加以下三引用...
昌江区17266747469: 急需高手:求教如何用ASP制作动态网页?
书怖参七: 如果你ASP的脚本语言,ASP内置对象,内置组件等都学完了,你可以去网上下载一套ASP网站源码,来利用这套源码来制作动态网页!
昌江区17266747469: ASP怎么让网页变成动态的??
书怖参七: asp就是动态页面. html才是静态页面. 动态页面,如果你不加数据,那就是静态页面了.
昌江区17266747469: 使用“基于.NET的Web应用程序”能不能做动态网站??
书怖参七: 那是肯定的!当然可以做了.基于.NET的web应用程序是用ASP.NET来开发的.完全可以作出这个动态网站来的.现在很多的公司都在用ASP.NET技术开发软件系统的.
昌江区17266747469: Dreamweaver MX,用ASP做个动态网页?
书怖参七: 你先制做一个提交表单,把表单链接到index.asp?one=1.(index.asp指的是执行的页面) 第二 <% if one=1 then %> 【这里放你需要执行的程序】 <%else%> <%end if%> 如此简单,不明白就说明你的手太新了!!!