在GridView的超链接列中绑定数据

时间:2013-10-10 07:12:14

标签: c# asp.net gridview data-binding hyperlink

我有一个名为customerArrayList的ArrayList来绑定GridView。通常,当我将数据绑定到模板列时,我使用 Eval 来读取和显示ArrayList数据源中的数据,并且它可以正常工作。

<asp:TemplateColumn HeaderText="Address">
  <ItemTemplate>
    <asp:Label ID="Label4" runat="server" Text='<%# Eval("Customer.Address1") %>' />
  </ItemTemplate>
</asp:TemplateColumn>

但是如何将数据绑定到超链接列?当我使用以下代码时,它会给我一个错误。

<asp:HyperLinkColumn HeaderText="Customer Name" DataTextField="Customer.CustomerName" 
DataNavigateUrlFormatString="CustomerPage.aspx?funcName=fromSearch&customerID={0}"
DataNavigateUrlField="Customer.CustomerID" />   
  

在所选数据源上找不到具有名称的字段或属性

我认为这一行给了我错误:

DataTextField="Customer.CustomerName"

任何人都可以告诉我我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

使用此示例

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">           
        <Columns>
            <asp:BoundField DataField="CustomerID" />
            <asp:HyperLinkField DataNavigateUrlFields="CustomerID"                  DataNavigateUrlFormatString="CustomerPage.aspx?funcName=fromSearch&customerID={0}"
                DataTextField="Customer Name" NavigateUrl="CustomerPage.aspx" />
            <asp:BoundField DataField="datafield" />
        </Columns>
    </asp:GridView>

或播放Grid_RowDataBound()事件。

感谢