• Asp.net動態添加控件(转)


    項目當中有,要用到動態創建控件,以前在Winform中,容易實現,Web中花了半天的時間學習了一上,現在這里記錄一下:基於asp.net2.0,簡要記錄一下頁面的控件如何動態創建的步驟,同時也記錄一下怎麼使用這些動態創建的控制項的方法。

    為了使篡動態生成的控件有序,拖一個Table放在頁面上。然后將控件放在TableCell當中。我是這樣子排序的,不知各位是否有更好的解決方法,請隨后賜教。

    動態添加控件,在Page_Init事件中加載。

    OK,閑言少敘,實現步驟:

    新建一個方法名為:CreateControlDynamically的,復制如下代碼:


        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的源碼也貼出來:


    <%@ 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>

    OKF5運行一下,看到了什么,52列的十個控件顯示出來了。

    至於如何使用你剛動態創建控件的呢?要使用這些控件,首先必須要知道這些控制項的ID,對於上文所說的這些控制項,由於我在使用的時候,在後面加了12345之類的后綴。你在使用的時候,也建議這樣子命名,便於后面的編程調用。就用以下代碼實現:

    CType(Me.FindControl("tbx1"), TextBox).Text=”自定義的Text值”
    http://www.cnblogs.com/jinliangliu/archive/2007/10/20/931600.html
  • 相关阅读:
    Intellij Idea 2017创建web项目及tomcat部署实战
    使用docker安装mysql服务
    python2--升级python3
    SpringCloud--注册中心Eureka
    SpringBoot--属性加载顺序
    Jmeter--压测dubbo接口
    较快的maven的settings.xml文件
    Spring boot:logback文件配置
    Spring--AOP
    34组代码敲不队记账类app会议纪要
  • 原文地址:https://www.cnblogs.com/binlyzhuo/p/1433709.html
Copyright © 2020-2023  润新知