ASP.NET用户控件Eval()问题

时间:2011-09-17 10:27:31

标签: c# asp.net user-controls

我有一个包含转发器的用户控件。我使用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>

1 个答案:

答案 0 :(得分: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中的任何数据绑定语法都将返回一个空字符串。