簡體   English   中英

從DataTable讀取數據-ASP.NET

[英]Read data from DataTable - ASP.NET

我正在將ASP.net 4.5與VB.net一起使用。 (C#示例也可以工作,我將其轉換)

我有以下代碼,用於在表單上填充Repeater控件。

Private pgdArticles As New PagedDataSource

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        pgdArticles = GetData()
        blogRepeater.DataSource = pgdArticles
        blogRepeater.DataBind()

    End Sub


    Private Function GetData() As PagedDataSource

        Dim pg As New PagedDataSource

        Dim conn As SqlConnection
        conn = New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("myConnectionString").ConnectionString)

        Dim cmd As New SqlCommand("usp_MyProc", conn)

        Dim da As New SqlDataAdapter()
        da.SelectCommand = cmd
        Dim dt As New Data.DataTable()
        da.Fill(dt)
        pg.DataSource = dt.DefaultView

        Return pg

    End Function

使用中繼器可以正常工作,但是我想不使用中繼器讀取數據並在表單上填充標簽。 像下面這樣。

我的數據在我的桌子上.................

我表中的數據

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        pgdArticles = GetData()

        If pgdArticles.ID = 1 Then
            lblName1 = pgdArticles.Name 'This will be value Mike
            lblValue1 = pgdArticles.Value 'This will be value 250
        End If

        If pgdArticles.ID = 2 Then
            lblName2 = pgdArticles.Name 'This will be value Ben
            lblValue2 = pgdArticles.Value 'This will be value 400
        End If

    End Sub

那么還有其他方法嗎? C#或VB.NET代碼示例很好。

碼:

Public Property dtArticles As DataTable

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

    dtArticles = GetData()

    For I As Integer = 0 To dtArticles.Rows.Count - 1
        Dim row As DataRow = dtArticles.Rows(I)
        Dim label As Label = Page.FindControl(String.Format("Name{0}", I))
        label.Text = String.Format("{0} ({1})", row("Name"), row("Value"))
    Next

End Sub

Private Function GetData() As DataTable

    Dim conn As New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("myConnectionString").ConnectionString)
    Dim cmd As New SqlCommand("usp_MyProc", conn)

    Dim da As New SqlDataAdapter()
    da.SelectCommand = cmd

    Dim dt As New Data.DataTable()
    da.Fill(dt)

    Return dt

End Function

HTML:

<asp:Label ID="Name0" runat="server" />
<asp:Label ID="Name1" runat="server" />
<asp:Label ID="Name2" runat="server" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM