4

我有一个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") %>"

如何解决这个问题?

4

4 回答 4

6

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

Text='<%# DataBinder.Eval(Container.DataItem, "EntryText") %>'
于 2013-04-17T10:44:39.730 回答
1

你可以做

((ContainerType)Container.DataItem)).EntryText

所以它看起来像这样

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

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

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

于 2013-04-17T10:45:32.190 回答
1
Text='<%# DataBinder.Eval(Container.DataItem, "EntryText") %>'

这可能会解决问题

于 2013-04-17T10:45:38.460 回答
1

尝试这个;

Text='<%#DataBinder.Eval(Container.DataItem, "EntryText")%>'
于 2013-04-17T10:47:06.307 回答