基于ASP.NET的Web動態(tài)控件創(chuàng)建_第1頁
基于ASP.NET的Web動態(tài)控件創(chuàng)建_第2頁
基于ASP.NET的Web動態(tài)控件創(chuàng)建_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、    摘要:web設(shè)計(jì)中,有很多場合,頁面的控件要動態(tài)創(chuàng)建甚至只能動態(tài)創(chuàng)建,這樣可以增加頁面的靈活性,但是給程序員帶來了一些麻煩,比如要使用動態(tài)創(chuàng)建的控件,怎么使用,都是要求解決的問題,本文基于,簡要介紹了頁面的控件如何動態(tài)創(chuàng)建,同時也介紹了怎么使用這些動態(tài)創(chuàng)建的控件的方法。 前言:自從Microsoft在2000年推出了.net framework以來,給基于internet編程的程序員帶來了巨大的福音,.net framework大大簡化了web頁面設(shè)計(jì)的繁雜,可見即可得的頁面效果大大簡化了頁面設(shè)計(jì)程序員的工作任務(wù),code behind技術(shù)將頁面

2、與代碼分離,減少了web頁面的無序狀態(tài),其中大量可以復(fù)用的控件可以無縫的被瀏覽器使用,由于互聯(lián)網(wǎng)上95%的瀏覽器均是Microsoft的Internet Explorer,程序員大可以放心的使用這些控件而不用擔(dān)心瀏覽器的兼容性,本文從Microsoft的.net和com控件開始,給出具體例子說明如何在頁面上動態(tài)創(chuàng)建控件,以及怎么來使用這些動態(tài)創(chuàng)建的控件。其中具體使用的語言是。1. Microsoft控件目前用于瀏覽器的動態(tài)數(shù)據(jù)瀏覽方式主要有以下兩種,(1).使用java applet。(2).使用可以在瀏覽器中運(yùn)用的控件。兩種方法各有利弊,使用java applet,頁面執(zhí)行較慢,編程復(fù)雜,可

3、復(fù)用性不大,這種方式現(xiàn)在使用較少;越來越多的程序員較傾向于使用控件。其中我們在web中大多數(shù)時候是使用到.net 的web control和html control以及一些數(shù)據(jù)操作控件。一般的,在web設(shè)計(jì)中,通常使用拖拽的方式,將空間放置到頁面,然后設(shè)置屬性就可以了,然后再后臺程序中編程使用就可以了。這種方式操作起來很方便,可見即可得,同時引用這些放置好的控件也很方便,但是在有些情況下,我們卻不得不要動態(tài)創(chuàng)建控件,比如對一一個數(shù)據(jù)庫中的某一些字段,對于不同身份的用戶,見到的字段數(shù)目是不一樣的;還有就是對于不同身份的用戶對于某一控件的使能狀態(tài)是不一樣的,我們不能再頁面設(shè)計(jì)時采用一個標(biāo)準(zhǔn),最好的

4、方式就是動態(tài)創(chuàng)建控件,對于不同的情況,通過程序來控制,放置在頁面上的控件的數(shù)目也通過程序來控制。然后通過程序來引用這些創(chuàng)建好的控件。2. 創(chuàng)建控件對于程序員來說,用例子說話是最好的方式來提供解決方案,我將在頁面上動態(tài)的放置一些標(biāo)簽(label)和文本框(textbox),這些文本框里頭放置的是從dataset取到的數(shù)據(jù),同時我把這些文本框放置到一個表格的相應(yīng)單元格里,可以實(shí)現(xiàn)有序的放置,首先在頁面添加一個table。然后根據(jù)需要創(chuàng)建不同的列數(shù)和行數(shù),如下為動態(tài)創(chuàng)建這些文本框的代碼:Dim i As IntegerFor i = 0 To IntRowCount - 1Dim r As Tabl

5、eRow = New TableRow()Dim c1 As TableCell = New TableCell()Dim myLabel1 As Label = New Label()這里設(shè)置該label的ID,對于不同的label,必須設(shè)置成不同的ID,我這里設(shè)置成前綴lbl1加字段名的組合,例如lbl1xlmc等。myLabel1.ID = "Lbl1" & Trim(OleDsField.Tables("Field").Rows(i).Item("column_name").ToString()下面的條件語句是為了判斷

6、數(shù)據(jù)庫中在字段的值是否為空,根據(jù)條件賦予label不同的文本。If OleDsField.Tables("Field").Rows(i).Item("column_title").GetType.ToString = "System.DBNull" ThenmyLabel1.Text = ""ElsemyLabel1.Text = Trim(OleDsField.Tables("Field").Rows(i).Item("column_title")End IfDim c2

7、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"

8、Thenmytextbox.Text = ""Elsemytextbox.Text = Trim(OleDsResult.Tables("Result").Rows(0).Item(i)End If If Trim(OleDsField.Tables("Field").Rows(i).Item("column_enable") = "是" Thenmytextbox.Enabled = TrueElsemytextbox.Enabled = FalseEnd IfNext 這樣就成功地添加了兩列到表里,至于行數(shù)由變量IntRowCount決定,其中IntRowCount為取數(shù)據(jù)庫時得到的記錄的行數(shù)3. 使用動態(tài)創(chuàng)建的控件使用這些控件時,首先必須要知道這些控件的ID,對于上文所說的這些控件,由于ID名稱不定,使用時必須也要根據(jù)條件來使用。比如我要找到相應(yīng)的文本框的ID,就用以下代碼可以實(shí)現(xiàn):Dim txt As TextBoxtxt = Me.FindControl("txt" & OleDsField.Tables("Field").Rows(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論