将链接绑定到GridView

时间:2014-06-18 17:45:23

标签: c# asp.net gridview

如何在WebForms GridView的列中呈现链接?

我有以下代码

SqlCommand cmd = new SqlCommand("SELECT * FROM dbo.UsersContacts WHERE UserId='vika'", con);

con.Open();

var list1 = new List<string>();
using (SqlDataReader reader = cmd.ExecuteReader())
{
    while (reader.Read())
    {
        var node = reader[1];
        list1.Add(node.ToString());
    }
}
con.Close();

GridView1.DataSource = list1;
GridView1.DataBind();

我希望做一些像list1.Add("<a href='#'>"+node.ToString()+"<a>");这样的事情,并在我的GridView中建立一个链接。

1 个答案:

答案 0 :(得分:2)

我宁愿在gridview模板定义中执行此操作,而不是从数据源传递链接。您的gridview定义可以包含asp:HyperLinkFieldasp:HyperLink字段,并根据需要绑定数据。

<asp:GridView ID="GridView1" runat="server">  
     <Columns>  
            <asp:HyperLinkField   
                HeaderText="View Details"  
                DataNavigateUrlFields="node"  
                DataNavigateUrlFormatString="~/TargetPage.aspx?Id={0}"  
                DataTextField="node"  
                />  
     </Columns>  
</asp:GridView> 

或者

<asp:HyperLink runat="server" NavigateUrl='<%# Eval("node", "~/TargetPage.aspx?Id={0}") %>' Text="View Details" />