Asp.net動態添加控件(转)
生活随笔
收集整理的這篇文章主要介紹了
Asp.net動態添加控件(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
項目當中有,要用到動態創建控件,以前在Winform中,容易實現,Web中花了半天的時間學習了一上,現在這里記錄一下:基於asp.net2.0,簡要記錄一下頁面的控件如何動態創建的步驟,同時也記錄一下怎麼使用這些動態創建的控制項的方法。
為了使篡動態生成的控件有序,拖一個Table放在頁面上。然后將控件放在Table的Cell當中。我是這樣子排序的,不知各位是否有更好的解決方法,請隨后賜教。
動態添加控件,在Page_Init事件中加載。
OK,閑言少敘,實現步驟:
新建一個方法名為:CreateControlDynamically的,復制如下代碼:
CreateDynamic????Sub?CreateControlDynamically(ByVal?nCount?As?Integer)
????????For?i?As?Integer?=?1?To?nCount
????????????Dim?tr?As?TableRow?=?New?TableRow()
????????????Dim?tc?As?TableCell?=?New?TableCell()
????????????Dim?myLabel?As?Label?=?New?Label()
????????????'這裏設置該label的ID,對於不同的label,必須設置成不同的ID
????????????myLabel.ID?=?"lbl"?&?i
????????????myLabel.Text?=?"Critial"?&?i
????????????tc.Controls.Add(myLabel)
????????????tr.Cells.Add(tc)
????????????Dim?tc2?As?TableCell?=?New?TableCell()
????????????Dim?mytextbox?As?TextBox?=?New?TextBox()
????????????mytextbox.ID?=?"txt"?&?i
????????????mytextbox.Text?=?"TextBox"?&?i
????????????tc2.Controls.Add(mytextbox)
????????????tr.Cells.Add(tc2)
????????????Me.tbl.Rows.Add(tr)
????????Next
調用的時候,在Page_Init中,直接敲CreateControDynamically(5)就OK了。順便將aspx的源碼也貼出來:
aspx<%@?Page?Language="VB"?AutoEventWireup="false"?CodeFile="Default.aspx.vb"?Inherits="_Default"?%>
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml"?>
<head?runat="server">
????<title>Create?Control?Dynamically</title>
</head>
<body>
????<form?id="form1"?runat="server">
????<div>
????????<asp:Table?ID="tbl"?runat="server">
????????????<asp:TableRow?ID="trLbl"?runat="server">
????????????</asp:TableRow>
????????????<asp:TableRow?ID="trTbx"?runat="server">
????????????</asp:TableRow>
????????</asp:Table>
????????<br?/>
????????<asp:Button?ID="btnOK"?runat="server"?Text="Button"?/></div>
????</form>
</body>
</html>
OK,F5運行一下,看到了什么,5行2列的十個控件顯示出來了。
至於如何使用你剛動態創建控件的呢?要使用這些控件,首先必須要知道這些控制項的ID,對於上文所說的這些控制項,由於我在使用的時候,在後面加了1、2、3、4、5之類的后綴。你在使用的時候,也建議這樣子命名,便於后面的編程調用。就用以下代碼實現:
CType(Me.FindControl("tbx1"),?TextBox).Text=”自定義的Text值”http://www.cnblogs.com/jinliangliu/archive/2007/10/20/931600.html轉載于:https://www.cnblogs.com/binlyzhuo/archive/2009/04/11/1433709.html
總結
以上是生活随笔為你收集整理的Asp.net動態添加控件(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle性能调整的九大要点:四诊断l
- 下一篇: 摄景基础知识一