六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

基于asp.net的web頁面動態控件創建以及使用

[摘要]摘要:web設計中,有很多場合,頁面的控件要動態創建甚至只能動態創建,這樣可以增加頁面的靈活性,但是給程序員帶來了一些麻煩,比如要使用動態創建的控件,怎么使用,都是要求解決的問題,本文基于asp.n...
摘要: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下調試通過。同時也給出了web設計的一個方法,各位可以通過[email protected]和我聯系,歡迎批評指正。


主站蜘蛛池模板: 欧美亚洲国产精品久久第一页 | 日韩欧美无线在码 | 亚洲综合精品一二三区在线 | 亚洲地址一地址二地址三 | 日韩黄色大片免费看 | 性久久久久久久久久 | 亚洲成a人片777777久久 | 亚洲视频在线观看免费 | 中文字幕亚洲综合久久男男 | 我想看一级毛片免费的 | 日本国产视频 | 亚洲国产美女精品久久 | 在线免费看污视频 | 青青草原在线播放 | 天天天天天天干 | 天天干2018 | 全黄大片 | 五月天婷婷激情网 | 一级做a爰片久久毛片免费看 | 亚洲视频欧美 | 亚洲视频在线免费观看 | 青草网在线观看 | 小黄鸭b站视频在线 | 色宅男中文字幕亚洲专区 | 午夜久久久精品 | 五月婷婷亚洲综合 | 日本视频在线观看不卡高清免费 | 日韩一区国产二区欧美三区 | 中文字幕1区 | 青青在线观看 | 青青草精品在线观看 | 亚洲国产一成人久久精品 | 夜色综合| 亚洲综合20p| 亚洲性视频在线 | 一区二区三区国产美女在线播放 | 天天插天天干 | 欧美影院久久 | 在线播放亚洲视频 | 天天亚洲| 天天综合网色中文字幕 |