Repeater databinder.eval double quotes

4

我有一个如下所示的 repeater

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

现在,我想将LinkButton的文本值与以下内容绑定:
<%# DataBinder.Eval(Container.DataItem, "EntryText") %>

然而,当我执行以下操作时,遇到了双引号问题:
Text="<%# DataBinder.Eval(Container.DataItem, "EntryText") %>"

如何解决这个问题?
4个回答

6

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

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

1
你可以这样做。
((ContainerType)Container.DataItem)).EntryText

所以它会看起来像这样。
Text='<%# ((ContainerType)Container.DataItem)).EntryText %>'

ContainerType指的是该对象的类型。这样做实际上更有效率,因为它不必使用“Eval”方法进行评估。

否则,请使用单引号后跟双引号。


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

这可能解决问题。

1
尝试一下;
Text='<%#DataBinder.Eval(Container.DataItem, "EntryText")%>'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接