Repeater databinder.eval双引号

时间:2013-04-17 10:43:31

标签: c# databinder

我有repeater,如下所示,

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

现在,我想将LinkButton s的Text值与以下内容绑定,

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

但是,当我执行以下操作时,我会得到双引号问题,

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

如何解决这个问题?

4 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

你可以做到

((ContainerType)Container.DataItem)).EntryText

所以它看起来像这样

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

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

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

答案 2 :(得分:1)

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

这可以解决问题

答案 3 :(得分:1)

试试这个;

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