ASP.NET GridView将两个字段绑定到一列中

时间:2011-11-30 13:09:20

标签: c# asp.net gridview

我的Web应用程序中有ASP.NET GridView,并希望将两个字段绑定到一列并使用字符串格式。我在下面提供示例,是否可以实现到GridView?

我有两个数据字段NameDefaultParam,并希望将这些字段显示在一个GridView列中。

喜欢这个

Name=DefaultParam

如果DefaultParam值为空,我只想显示Name值而不包含=

我使用Repeater和下面的代码来实现这一目标,但现在决定将数据显示移动到GridView

<%#Eval("Name")%>
<%# (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):"" %>

2 个答案:

答案 0 :(得分:4)

您可以使用TemplateField并将逻辑放在那里:

<asp:TemplateField HeaderText="Header">
<ItemTemplate>
<%#Eval("Name") + (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):""%>
</ItemTemplate>
</asp:TemplateField>

另一种选择是在对象上使用Property在幕后为你做这个逻辑,并将其用作BoundField,但是你没有提到绑定对象是什么。

答案 1 :(得分:0)

当您在代码后面编写代码时,可以在<%# ... %>之间简单地编写服务器端代码。只需将其放入''(在单引号之间)。

<asp:Lable id="lblxx" runat="server" 
Text='<%# Eval("Name") + (!string.IsNullOrEmpty(Convert.ToString(Eval("DefaultParam")))) ? "= " + Eval("DefaultParam"):"" %>' />

按照此tutorial链接了解如何使用模板字段自定义基于数据的格式。