如何将gridview中的列设置为自动生成的超链接

时间:2011-06-08 10:58:09

标签: c# .net asp.net gridview

我想将gridview.columns[0]作为超链接。我在不同的网站上尝试了很多工作。我将list<>绑定到网格。我需要将第一列作为超链接,点击该链接后,应将其重定向到包含相应项目的页面。 我需要使用哪个事件以及如何从列表中传递该值?

2 个答案:

答案 0 :(得分:7)

void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        var firstCell = e.Row.Cells[0];
        firstCell.Controls.Clear();
        firstCell.Controls.Add(new HyperLink { NavigateUrl = firstCell.Text, Text = firstCell.Text });
    }
}

请注意,如果仅在第一次加载页面时将数据绑定到网格,那么您的更改将会消失。

答案 1 :(得分:2)

您必须将该列设为模板列

<asp:TemplateField HeaderText="">
  <ItemTemplate>
   <asp:HyperLink ID="HyperLink1" runat="server" Text="test" NavigateUrl='<%# Eval("fieldName", "show.aspx?ID={0}") %>'></asp:HyperLink>
  </ItemTemplate>
</asp:TemplateField>