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