none
請問如何使用For each...Next來清除TextBox內的資料 RRS feed

  • 問題

  • 各位前輩您好

    小弟有一個問題想請教一下
    目前有一張加入會員的網頁,裡頭有五個TextBox及一個按鈕
    五個TextBox名字分別為 txt_id、txt_pw、txt_repw、txt_name、txt_mail五個
    當我資料輸入完,也已新增至資料庫之後,現在想要清除這5個textbox中的資料。

    之前在撰寫vb6的程式時,在調整表單大小時曾經用過For each....next這方法來調整
    表單內各元件的大小及位置。
    如:
        Dim tempcontrol As Control

        For Each tempcontrol In Me
            If TypeOf tempcontrol Is Line Then
                tempcontrol.X1 = tempcontrol.X1 / reSizeX * Me.ScaleWidth
                tempcontrol.X2 = tempcontrol.X2 / reSizeX * Me.ScaleWidth
                tempcontrol.Y1 = tempcontrol.Y1 / reSizeY * Me.ScaleHeight
                tempcontrol.Y2 = tempcontrol.Y2 / reSizeY * Me.ScaleHeight
            End If
        Next tempcontrol

    目前小 弟使用的是asp.net 1.0

    想請問各前輩一下,是否可利用以上這個方法稍為調整一下來使用在這個清除textbox欄位的資料嗎??

    目前小弟的寫法是
                Dim tmp_tb as control
                For Each tmp_tb In Me.Controls
                    If TypeOf tmp_tb Is TextBox Then
                        tmp_tb.text = ""
                    End If
                Next

    不過這樣寫根本跑不出來,還請各位前輩幫小弟解決一下這個問題。謝謝


    2006年6月7日 上午 09:47

解答

  •  米蟲 寫信:

    目前小弟的寫法是
                Dim tmp_tb as control
                For Each tmp_tb In Me.Controls
                    If TypeOf tmp_tb Is TextBox Then
                        tmp_tb.text = ""
                    End If
                Next

    1. 你的 tmp_tb 必須要先轉成 TextBox 才可以使用 tmp_tb.text = ""
    2. 如果你的 TextBox 包在具有容器性質的控制項(例如 Table, Panel 這些)時,Me.Controls 會找不到 TextBox,你必須要使用遞迴的方式來處理 . 

    2006年6月7日 上午 09:59
    版主

所有回覆

  •  米蟲 寫信:

    目前小弟的寫法是
                Dim tmp_tb as control
                For Each tmp_tb In Me.Controls
                    If TypeOf tmp_tb Is TextBox Then
                        tmp_tb.text = ""
                    End If
                Next

    1. 你的 tmp_tb 必須要先轉成 TextBox 才可以使用 tmp_tb.text = ""
    2. 如果你的 TextBox 包在具有容器性質的控制項(例如 Table, Panel 這些)時,Me.Controls 會找不到 TextBox,你必須要使用遞迴的方式來處理 . 

    2006年6月7日 上午 09:59
    版主
  • 您好,小弟我的這些TextBox就是放在table裡頭^^"

    而實際在run的時候的確是找不到這些TextBox。

    請問一下前輩是否可以提供一點寫法或者是相關資料讓小弟參考

    目前小弟我的
    開發環境為Visual Studio.net 2003
    開發asp.net
    使用語言為vb.net

    謝謝

    2006年6月7日 上午 10:47
  • 那你就在 table 使用 FindControl() 吧 .
    2006年6月15日 上午 09:01
    版主