如何在一个元素上绑定多个数据(Gridview)?

时间:2018-08-06 08:53:54

标签: c# asp.net sql-server visual-studio

我想在网格视图上从数据库绑定多个属性,所以我拥有(名字,中间名和姓氏),并且希望将它们连接到网格视图(名称)的一列中

<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#,谢谢。

2 个答案:

答案 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"))%>'