我有一个包含转发器的用户控件。我使用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>
答案 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中的任何数据绑定语法都将返回一个空字符串。