我希望将gridview.columns[0]
作为超链接。我尝试了很多不同网站上提到的解决方法。我将一个list<>
绑定到了网格上。我需要将第一列设置为超链接,点击该链接后,应该会重定向到相应的项目页面。
我需要使用哪个事件,并如何从列表中传递该值?
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 });
}
}
请注意,如果您仅在页面首次加载时将数据绑定到网格,则您所做的更改将会消失。
您需要将该列设置为模板列。
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" Text="test" NavigateUrl='<%# Eval("fieldName", "show.aspx?ID={0}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>