中继器databinder.eval双引号

本文关键字:eval databinder 中继器 | 更新日期: 2023-09-27 18:09:51

我有一个repeater,如下所示,

<asp:Repeater ID="rptEntries" runat="server">                         
    <ItemTemplate>
         <asp:LinkButton ID="lnk1" runat="server" Text=""></asp:LinkButton>
    </ItemTemplate>
</asp:Repeater>

现在,我想将LinkButtons的Text值与以下绑定

<%# DataBinder.Eval(Container.DataItem, "EntryText") %>

然而,我遇到了双引号问题,当我做以下操作时,

Text="<%# DataBinder.Eval(Container.DataItem, "EntryText") %>"

如何解决这个问题?

中继器databinder.eval双引号

使用双引号和单引号的组合:

Text='<%# DataBinder.Eval(Container.DataItem, "EntryText") %>'

您可以进行

((ContainerType)Container.DataItem)).EntryText

所以它看起来像这个

Text='<%# ((ContainerType)Container.DataItem)).EntryText %>'

其中ContainerType是该对象的类型。事实上,这种方式更有效,因为它不必使用"Eval"方法进行评估。

否则,请使用单引号和双引号。

Text='<%# DataBinder.Eval(Container.DataItem, "EntryText") %>'

这可以解决

问题

试试这个;

Text='<%#DataBinder.Eval(Container.DataItem, "EntryText")%>'