亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

基于ASP.NET的Web動態控件創建

2019-11-18 19:42:54
字體:
來源:轉載
供稿:網友

  摘要: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下調試通過。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成+人+综合+亚洲欧美丁香花| 久久精品99国产精品酒店日本| 亚洲成人性视频| 国产精品成av人在线视午夜片| 亚洲国产97在线精品一区| 姬川优奈aav一区二区| 91精品国产乱码久久久久久蜜臀| 欧美日本在线视频中文字字幕| 日韩国产一区三区| 中文字幕亚洲综合久久筱田步美| 色综合久久悠悠| 国产精品久久久久久久久粉嫩av| 亲爱的老师9免费观看全集电视剧| 7m精品福利视频导航| 国产精品看片资源| 91久久在线播放| 久久久爽爽爽美女图片| 欧美疯狂性受xxxxx另类| 国产日韩综合一区二区性色av| 亚洲午夜激情免费视频| 亚洲国产精品热久久| 亚洲欧美色图片| 九九热精品视频| 亚洲国产成人在线播放| 久久99热这里只有精品国产| 久久亚洲电影天堂| 日韩在线观看免费网站| 国产精品久久91| 中文字幕精品在线视频| 国产欧美日韩丝袜精品一区| 欧美在线不卡区| 亚洲精选中文字幕| 欧美激情在线一区| 国产日韩在线一区| 亚洲理论电影网| 欧美精品性视频| 成人黄色免费网站在线观看| 深夜福利国产精品| 欧美一区二区三区……| 欧洲亚洲免费在线| 久久不射电影网| 国产欧美日韩免费看aⅴ视频| 久久精品国产久精国产思思| 欧美黄色免费网站| 亚洲高清福利视频| 欧美日韩在线影院| 日韩美女激情视频| 久久青草精品视频免费观看| 国产女同一区二区| 欧美性色xo影院| 亚洲影视中文字幕| 欧美视频专区一二在线观看| 在线亚洲国产精品网| 最新69国产成人精品视频免费| 久久久久久中文字幕| 亚洲最新av在线| 欧美老女人性视频| 国产精品1区2区在线观看| 日韩视频永久免费观看| 91亚洲精品在线| 日韩中文字幕av| 成人国产亚洲精品a区天堂华泰| 97久久精品视频| 日韩在线观看视频免费| 欧美做受高潮1| 日韩大片免费观看视频播放| 精品国产成人在线| 欧美最顶级丰满的aⅴ艳星| 欧美国产日产韩国视频| 成人黄色片网站| 久热99视频在线观看| 亚洲精品www久久久| 欧美色道久久88综合亚洲精品| 欧美一级成年大片在线观看| 久久91精品国产91久久久| 青青a在线精品免费观看| 国产精品美女久久久久av超清| 久久久久久久久久久久久久久久久久av| 亚洲天堂开心观看| 性金发美女69hd大尺寸| 日韩专区在线观看| 亚洲欧美另类中文字幕| 国产99久久精品一区二区 夜夜躁日日躁| 91精品视频大全| 成人国产在线视频| 国产美女精品视频| 日韩欧美在线视频观看| 日韩中文视频免费在线观看| 自拍偷拍亚洲区| 欧美人成在线视频| 亚洲第一精品夜夜躁人人爽| 国产精品91在线观看| 97视频在线观看免费| 欧美日韩国产综合视频在线观看中文| 亚洲 日韩 国产第一| 国产精品日韩av| 久久久久久久97| 成人日韩av在线| 按摩亚洲人久久| 色偷偷av一区二区三区乱| 国产一区二区久久精品| 97精品视频在线| 亚洲美女免费精品视频在线观看| 亚洲第一精品夜夜躁人人爽| 伊人伊成久久人综合网小说| 欧美精品videos| www.久久久久| 国内揄拍国内精品| 亚洲一级片在线看| 国产亚洲欧美另类中文| 国产视频久久久久| 国产精品一区二区三| 亚洲精品一区二区久| 国产欧美一区二区三区在线看| 久久久久久久影院| 日韩在线精品视频| 夜夜狂射影院欧美极品| 国产偷亚洲偷欧美偷精品| 国产精品成人品| 91日本在线视频| 97色伦亚洲国产| 国产精品成熟老女人| 欧美理论电影在线观看| 亚洲中国色老太| 日韩av手机在线| 成人在线激情视频| 亚洲第一天堂无码专区| 黄色一区二区在线观看| 91色琪琪电影亚洲精品久久| 久久亚洲精品小早川怜子66| 51精品在线观看| 91久久久久久| 欧美日韩国产页| 97视频免费在线看| 国产欧美精品日韩| 成人97在线观看视频| 成人有码在线视频| 日韩av123| 精品国产91久久久久久老师| 高清一区二区三区日本久| 亚洲精品小视频在线观看| 亚洲少妇激情视频| 精品国产91久久久| 国产精品扒开腿做爽爽爽的视频| 夜夜嗨av色一区二区不卡| 欧美成年人网站| 欧美午夜电影在线| 亚洲男人天堂九九视频| 成人免费午夜电影| 久久亚洲精品一区二区| 91网站在线免费观看| 国产日韩在线一区| 2024亚洲男人天堂| 亚洲二区在线播放视频| 日本视频久久久| 日韩激情视频在线| 日本国产精品视频| 69av视频在线播放| 色偷偷噜噜噜亚洲男人| 在线日韩欧美视频| 国产精自产拍久久久久久蜜| 亚洲色图15p| 爽爽爽爽爽爽爽成人免费观看| 国产精品亚洲欧美导航|