如何在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中建立一个链接。
答案 0 :(得分:2)
我宁愿在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>
或者
<asp:HyperLink runat="server" NavigateUrl='<%# Eval("node", "~/TargetPage.aspx?Id={0}") %>' Text="View Details" />