2017-01-31 8 views
0

私は会社のデータベースからリピーターコントロールにデータをバインディングしています。私はデータベースから会社名を取得しようとしていますが、ラベルとして表示したいのですが、動作していません。どのように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> 

答えて

1

あなたが追加する必要があります。

Repeater1.DataSource = dt; 

Repeater1.DataBind(); 

を210

ので:

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

そして、あなたのリピータHE​​SそのItemTemplateにではない任意の項目? あなたはそのように設定する必要があります(会社IDがintの場合)

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

そして、あなたのSQLクエリは、不正な構文があります。

変更することをこれに:

"Select Company_Name from Company_Details where Company_ID = 8"; 
+0

ご提案をお寄せいただきありがとうございます、私はすでにこれを試みたが、まだ動作していません。 @FarzinKanzi – Rahul

+0

@Rahul「動作していない」と記述します。あなたのコードに到達しましたか?オブジェクトが正しく設定されていることをデバッグしましたか? – mason

+0

"Not working"は、Label1がCompany_Nameの値をデータソースから取得していないことを意味します。私は会社名をResponse.Write()で印刷しているときに会社名を印刷していますが、Repeaterコントロールを使用してLabel1のテキストを会社名として取得しようとすると会社名を取っていません。ヌル。 – Rahul

関連する問題