2017-04-11 69 views
0

我的網頁中有10個文本框。我有10個來自我的數據庫的最新記錄。ASP.NET(VB)循環文本框併爲其中的每一個賦值

如何遍歷文本框並將數據庫記錄分配給它們?

目前我使用硬編碼方法:

For i = 0 To _datatable.Rows.Count 
    If i = 0 Then 
     txtbox1.Text = _datatable.Rows(0)("shift").ToString 
    ElseIf i = 1 Then 
     txtbox2.Text = _datatable.Rows(1)("shift").ToString 
    ElseIf i = 2 Then 
     txtbox3.Text = _datatable.Rows(2)("shift").ToString 
    // and so on... 
    End If 
Next 
+0

那麼你到底嘗試過哪些代碼? – CurseStacker

+0

@CurseStacker請看我的更新 –

回答

1

創建Repeater控制

<asp:Repeater ID="rptItems" runat="server"> 
    <ItemTemplate> 
     <asp:ID="txtShift" runat="server" Text='<%#Eval("shift") %>' /> 
    </ItemTemplate> 
</asp:Repeater> 

<%Eval("shift") %>是什麼界定你TextBoxDataSource。 您在DataTable中的每一行都會重複您放入<ItemTemplate>的任何內容。

然後在後面的代碼

rptItems.DataSource = _datatable 
rptItems.DataBind() 
+0

不錯!謝謝 –

0
<asp:Panel ID="pnl1" runat="server"> 
    <asp:TextBox ID="txt1" runat="server"></asp:TextBox><br /> 
    <asp:TextBox ID="txt2" runat="server"></asp:TextBox><br /> 
    <asp:TextBox ID="txt3" runat="server"></asp:TextBox><br /> 
    <asp:TextBox ID="txt4" runat="server"></asp:TextBox><br /> 
    <asp:TextBox ID="txt5" runat="server"></asp:TextBox><br /> 
</asp:Panel> 

代碼背後:

For i = 1 To dt.rows.count 
    Dim _txt As TextBox = pnl1.FindControl("txt" & i.ToString.Trim) 
    Dim _row As String = dt.Rows(i)("column name of your datatable").ToString.Trim 
    _txt.Text = _row 
Next 
  • DT =數據表 - 記錄從SQL

  • 希望這個代碼可以幫助。

相關問題