【问题标题】:Using foreach with ASP.NET view engine inside a ASP: Repeater is not working在 ASP 中使用带有 ASP.NET 视图引擎的 foreach:Repeater 不工作
【发布时间】:2014-05-26 11:43:17
【问题描述】:

我有一个 ASP:Repeater,我需要使用一个使用 ASP.NET 视图引擎的 foreach 循环

但是我遇到了一个问题。

这是中继器内部的代码:

           <%# cart = (CartDTO)Container.DataItem %>

                      <% foreach (var item in cart.Products)
                       { %> 
                        <p><%= item.Title %></p>
                      <% }%>

这里的问题是没有渲染出来。我发现了这个问题。我必须使用&lt;%# 而不是&lt;%= 来渲染它。但问题是

有什么解决办法吗?

【问题讨论】:

  • 您能否发布一个绑定到中继器的数据样本。 JSON 中的某些东西会很棒,因此我们可以在我们的机器上运行。进一步发布转发器的整个标记
  • 最好在后面的代码上进行绑定,因为您可以更好地控制服务器端的数据,并且由于客户端上的数据绑定会导致反射和重新绑定,因此性能也会有所提高。 - 服务器端应该用于数据绑定,并且也使得它的耦合不如 UI/view/aspx 上的紧密

标签: c# asp.net asprepeater


【解决方案1】:

我认为repeater 不会轻易理解项目模板中的这种sn-p。一般来说,ASP.NET 页面标记中的 C# 代码不应该用于比“将此值输出到页面”更复杂的事情。

您最好为此类任务创建一个嵌套中继器:

<asp:Repeater runat="server" DataSource='<%# ((CartDTO)Container.DataItem).Products %>'>
    <ItemTemplate>
        <p> <%# Eval("Title") %></p>
    </ITemTemplate>
</asp:Repeater>

【讨论】:

    猜你喜欢
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-29
    • 2011-03-11
    相关资源
    最近更新 更多