2011-09-17 74 views
0

我有一個包含中繼器的用戶控件。我使用Eval()方法輸出適用於中繼器部分的數據,但它不輸出任何數據(使用相同的代碼)ASP.NET用戶控件Eval()問題

任何想法爲什麼這不起作用?

我在中繼器的用戶控制下列代碼:

<asp:Repeater runat="server" ID="repeater1"> 
     <HeaderTemplate> 
     //Data is not displayed in the HeaderTemplate 
       <table class="datatable fullwidthpercent"> 
       <tr> 
        <th> 
         <%# Eval(Column2Name) %> 
        </th> 
       </tr> 
    </HeaderTemplate> 
    <ItemTemplate> 
    //Data is displayed in the ItemTemplate 
      <tr> 
       <td> 
        <%# Eval(Column2Name) %> 
       </td> 
      </tr>     
      </ItemTemplate> 

回答

2

Eval方法需要一個數據項 - 存在與HeaderTemplate中相關聯的數據項。

http://www.asp.net/data-access/tutorials/displaying-data-with-the-datalist-and-repeater-controls-vb

當指定HeaderTemplate中或FooterTemplate,在DataList增加了額外的頁眉或頁腳的行設定爲呈現的輸出。與GridView的頁眉和頁腳行一樣,DataList中的頁眉和頁腳不會綁定到數據。因此,試圖訪問綁定數據的HeaderTemplate或FooterTemplate中的任何數據綁定語法都將返回一個空白字符串。