如何将超链接添加到动态gridview列

时间:2009-11-30 11:58:07

标签: c# asp.net

我有一个问题希望有人可以提供帮助。

我有动态Gridview。我需要在gridview列上有一个hyperlink。这些超链接应打开一个弹出窗口,以便在点击时显示某些数据。

我通过动态模板字段尝试了这个。但即使在绑定数据时,我也无法获得该列的超链接。我能够获取数据而不是超链接。

这是正在实施HyperLinkTemplate的{​​{1}}类。

ITemplate

1 个答案:

答案 0 :(得分:9)

我不完全确定我理解你要完成的任务,但我认为你不应该为此建立自己的模板类。

除了“动态网格视图”这个词之外,您可能会想到一些其他内容,但是如果您需要在GridView中向列的每一行添加超链接,并且您需要在代码中执行此操作-behind,然后我会建议处理GridView的RowDataBound事件,并在事件处理程序中执行以下操作:

    protected void grdData_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            HyperLink link = new HyperLink();
            link.Text = "This is a link!";
            link.NavigateUrl = "Navigate somewhere based on data: " + e.Row.DataItem;
            e.Row.Cells[ColumnIndex.Column1].Controls.Add(link);
        }
    }