我的Web应用程序中有ASP.NET GridView,并希望将两个字段绑定到一列并使用字符串格式。我在下面提供示例,是否可以实现到GridView?
我有两个数据字段Name
和DefaultParam
,并希望将这些字段显示在一个GridView列中。
喜欢这个
Name=DefaultParam
如果DefaultParam值为空,我只想显示Name
值而不包含=
我使用Repeater和下面的代码来实现这一目标,但现在决定将数据显示移动到GridView
<%#Eval("Name")%>
<%# (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):"" %>
答案 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链接了解如何使用模板字段自定义基于数据的格式。