Asp.net動態添加控制項

來源:互聯網
上載者:User

項目當中有,要用到動態創建控制項,以前在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值”

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.