【问题标题】:Combine/Concat multiple Evals inside DataList在 DataList 中合并/连接多个 Eval
【发布时间】:2013-03-18 09:05:01
【问题描述】:
我正在使用DataList,我需要在一列中显示两个字段的组合,我需要将列显示为Name1(Name2)
这是我的代码:
<asp:DataList ID="dlistDetails" runat="server" DataKeyField="KeyID"
RepeatColumns="3" Width="100%"
AlternatingItemStyle-BackColor="Wheat" CaptionAlign="Top">
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text= '<%#Eval("Name1")%(<%#Eval("Name2") %>)' />
</ItemTemplate>
</asp:DataList>
我的GridView 也是如此,它显示了结果,
【问题讨论】:
标签:
c#
datalist
itemtemplate
datalistitem
【解决方案1】:
只需将现有代码调整为:
<asp:DataList ID="dlistDetails" runat="server" DataKeyField="KeyID"
RepeatColumns="3" Width="100%"
AlternatingItemStyle-BackColor="Wheat" CaptionAlign="Top">
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text='<%# Eval("Name1") + "(" + Eval("Name2") + ")"%>' />
</ItemTemplate>
</asp:DataList>
【解决方案2】:
你可以试试这段代码
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text='<%# String.Format(
"return {0} % {1}",
Eval("Name1"),
Eval("Name2")) %>' />
</ItemTemplate>
【解决方案3】:
我有一个最简单的方法来做同样的事情......
<asp:Label ID="lbl" runat="server" Text='<%#Eval("Name1").ToString() +", "+ Eval("Name2").ToString() %>'></asp:Label>
.
<%#Eval("Name1").ToString() +", "+ Eval("Name2").ToString() %>
这里两个对象都被转换成字符串连接起来。