带 Eval 的中继器 SeparatorTemplate
是否可以在 Repeater 的 SeparatorTemplate 中使用 Eval 或类似语法?
我想显示分隔符模板中最后一项的一些信息,如下所示:
<table>
<asp:Repeater>
<ItemTemplate>
<tr>
<td><%# Eval("DepartureDateTime") %></td>
<td><%# Eval("ArrivalDateTime") %></td>
</tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td colspan="2">Change planes in <%# Eval("ArrivalAirport") %></td>
</tr>
</SeparatorTemplate>
<asp:Repeater>
<table>
希望它会生成如下所示的内容:
<table>
<asp:Repeater>
<tr>
<td>2009/01/24 10:32:00</td>
<td>2009/01/25 13:22:00</td>
</tr>
<tr>
<td colspan="2">Change planes in London International Airport</td>
</tr>
<tr>
<td>2009/01/25 17:10:00</td>
<td>2009/01/25 22:42:00</td>
</tr>
<asp:Repeater>
<table>
但 SeparatorTemplate 似乎忽略了 Eval() 调用。 我也尝试使用以前的语法,如下所示: <%# DataBinder.Eval(Container.DataItem, "ArrivalAirport")%> 具有相同的结果。
是否可以在 SeparatorTemplate 中显示前一项的信息? 如果没有,您能建议一种生成此代码的替代方法吗?
谢谢
is it possible to use Eval or similar syntax in the SeparatorTemplate of a Repeater?
Id' like to display some info of the last item in the separator template like this:
<table>
<asp:Repeater>
<ItemTemplate>
<tr>
<td><%# Eval("DepartureDateTime") %></td>
<td><%# Eval("ArrivalDateTime") %></td>
</tr>
</ItemTemplate>
<SeparatorTemplate>
<tr>
<td colspan="2">Change planes in <%# Eval("ArrivalAirport") %></td>
</tr>
</SeparatorTemplate>
<asp:Repeater>
<table>
Hopping that it'll generate something like this:
<table>
<asp:Repeater>
<tr>
<td>2009/01/24 10:32:00</td>
<td>2009/01/25 13:22:00</td>
</tr>
<tr>
<td colspan="2">Change planes in London International Airport</td>
</tr>
<tr>
<td>2009/01/25 17:10:00</td>
<td>2009/01/25 22:42:00</td>
</tr>
<asp:Repeater>
<table>
But the SeparatorTemplate seems to be ignoring the Eval() call. I tried using also the previous syntax like this: <%# DataBinder.Eval(Container.DataItem, "ArrivalAirport")%> with the same results.
Is it possible to display information of the previous item in a SeparatorTemplate? If not, can you suggest an alternative way to generate this code?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试这样做:
在 WebForm 的类中添加一个(或两个)私有变量,当您在项目级别执行数据绑定时,可以使用该变量来增加/跟踪航班信息。
然后,在 ItemDatabound 事件中,如果被数据绑定的项目是 ListItemType.Seperator 类型,您可以执行简单的评估,并以这种方式显示/隐藏/修改分隔符代码。
您的 WebForm 页面顶部看起来像这样:
然后当您开始进行数据绑定时:
...或类似的效果。
Try this:
Add a private variable (or two) in the class of your WebForm that you can use to increment/track what the flight information is while you are performing your databinding at the item level.
Then in the ItemDatabound event, you can perform a simple evaluation if the item being databound is the ListItemType.Seperator type and display/hide/modify your seperator code that way.
Your WebForm page would look something like this at the top:
Then when you get down to your data binding:
...or something to this effect.
嘿,我将解决一种方法来识别中继器中的最后一个项目,这样我就可以避免在那里生成分隔符:
谢谢
Hey, I'll settle with a way to identify the last item in the repeater so that I can avoid generating the separator there:
Thanks