如何在转发器中的方法中使用Eval()数据

时间:2015-02-06 16:34:58

标签: c# asp.net eval repeater

我编写了一个检查并返回URL状态代码的方法。然后我使用转发器从我的数据库中抓取行。我想弄清楚的是如何在转发器中调用的方法中使用转发器中返回的数据。这是ItemTemplate的代码。

<ItemTemplate>
    <tr class="alt">
        <td><%# Eval("Bounce_from") %></td>
        <td><%# Eval("Bounce_to") %></td>
        <td><%# Eval("is301") %></td>
        <td><% Response.Write(exist(Eval("Bounce_to")));  %></td>
    </tr>
</ItemTemplate>

&lt;%Response.Write(存在(Eval(&#34; Bounce_to&#34;))); %GT;是我挣扎的地方。我已经搜索过,无法找到答案。希望有人可以指出我正确的方向......先谢谢。

2 个答案:

答案 0 :(得分:0)

就像

一样简单
<td><%# exist(Eval("Bounce_to")) %></td>

这假设标记上有exist(它至少应该是受保护的页面方法)并且接受object作为输入参数,因为Eval返回对象。

基本上<%# %>运行数据绑定上下文中的任何代码(因此Eval可用)并将最终值输出到标记。

答案 1 :(得分:0)

如果没有完全看到 Repeater ,则很难进行故障排除。但是一个可以帮助您解决问题的工作示例。

<asp:Repeater Id="rpCustomer" runat="server" DataSourceId="dsCustomer">
     <ItemTemplate>

     </ItemTemplate>
</asp:Repeater>

转发器的重要部分是DataSourceId。您希望确保正确配置并确实将数据从数据库中提取出来。

第二部分,几乎就像你试图为Eval()调用方法一样。这样,您可以在任何给定点修改数据,因为数据源正在迭代。

<!-- An Example -->
<%# Truncate(Eval("Description").ToString()) %>

因此,在我的情况下,Truncate会像传统方法一样出现在代码背后:

protected string Truncate(string source)
{
     // Logic and Include valid Data Return
}

这将允许在查看状态中显示之前快速处理从数据库中提取的数据。

<!-- Final Result: -->
    <asp:Repeater Id="rpCustomer" runat="server" DataSourceId="dsCustomer">
         <ItemTemplate>
               <%# Truncate(Eval("Description").ToString()) %>
         </ItemTemplate>
    </asp:Repeater>