C# 将链接绑定到GridView

C# 将链接绑定到GridView,c#,asp.net,gridview,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

如何在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();
SqlCommand cmd=new-SqlCommand(“SELECT*FROM dbo.users contacts WHERE UserId='vika',con”);
con.Open();
var list1=新列表();
使用(SqlDataReader=cmd.ExecuteReader())
{
while(reader.Read())
{
var节点=读卡器[1];
添加(node.ToString());
}
}
con.Close();
GridView1.DataSource=list1;
GridView1.DataBind();

我想做一些事情,比如
list1.Add(“+node.ToString()+”)并使其成为我的GridView中的链接。

我宁愿在GridView模板定义中这样做,而不是从数据源传递链接。gridview定义可以包含
asp:HyperLinkField
asp: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> 



为什么要在代码隐藏处执行此操作,而不是直接在gridview模板定义处添加“HyperLinkField”或“HyperLink”并绑定“node”值?另外,仅供参考,您还应该在
中使用
块执行
SqlCommand
<asp:HyperLink runat="server" NavigateUrl='<%# Eval("node", "~/TargetPage.aspx?Id={0}") %>' Text="View Details" />