簡體   English   中英

如何將數據綁定到ASP.NET C#中的轉發器控件?

[英]How can bind data to repeater control in asp.net c#?

我正在將數據綁定到公司數據庫的轉發器控件中。 我正在嘗試從數據庫中獲取公司名稱,並希望顯示為標簽,但是它不起作用。

我的C#代碼是:

string conn_string = ConfigurationManager.ConnectionStrings["UPOneConn"].ConnectionString;
SqlConnection con = new SqlConnection(conn_string);
con.Open();
string ComSelectCompanyDataStr = "Select Company_Name from Company_Details where Company_ID = '8' ";
SqlCommand ComSelectCompanyData = new SqlCommand(ComSelectCompanyDataStr, con);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = ComSelectCompanyData;
DataTable dt = new DataTable();
da.Fill(dt);

Repeater1.DataSource = dt;
Repeater1.Visible = true;   
con.Close();

和我的設計代碼:

<div id="company_container">
        <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table>
                    <tr>
                        <td>
                            <asp:Label ID="Label1" runat="server"><%# Eval ("Company_Name") %></asp:Label></td>
                    </tr>
                </table>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td></td>
                </tr>            
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
    </div>

您必須添加:

Repeater1.DataBind();

Repeater1.DataSource = dt;

所以:

Repeater1.DataSource = dt;
Repeater1.DataBind();

您的中繼器的ItemTemplate中沒有任何項目嗎? 您應該將其設置為:

<ItemTemplate>
            <tr>
                <td><%# Eval ("Company_Name") %></td>
            </tr>            
        </ItemTemplate>

而且您的sql查詢語法錯誤(如果公司ID為int)。

更改為此:

"Select Company_Name from Company_Details where Company_ID = 8";

暫無
暫無

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

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