我想在网格视图上从数据库绑定多个属性,所以我拥有(名字,中间名和姓氏),并且希望将它们连接到网格视图(名称)的一列中
<asp:GridView ID="GV1" runat="server" AutoGenerateEditButton="true"
AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label
ID="edtName"
runat="server"
Text='<%# Bind("Name") %>'
/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
那么,如何绑定它们? 我正在使用Visual Studio 2013,asp.net和C#,谢谢。
答案 0 :(得分:1)
有两种方法可以做到这一点:
1)使用字符串连接
np.maximum.reduceat
属性上的字符串串联不允许多个Text
方法进行数据绑定,因此此处应使用Bind
。
Eval
运营商版本
+
String.Format版本
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="edtName" runat="server" Text='<%# Eval("firstname") %> + ' ' + <%# Eval("middlename") %> + ' ' + <%# Eval("lastname") %>' />
</ItemTemplate>
</asp:TemplateField>
2)使用AS别名修改查询
使用COALESCE
operator将所有相关字段组合成单个字符串,并提供一个别名,该别名具有与标签的<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="edtName" runat="server" Text='<%# String.Format("{0} {1} {2}", Eval("FirstName"), Eval("MiddleName"), Eval("LastName")) %>' />
</ItemTemplate>
</asp:TemplateField>
中定义的相同的键:
Bind
答案 1 :(得分:0)
您可以像下面这样使用Eval:
Text='<%# string.Concat(Eval("FirstName"), " ", Eval("LastName"))%>'