以编程方式向gridview添加超链接

时间:2018-01-10 15:20:33

标签: c# asp.net .net gridview

我有一个gridview,需要向标题行添加控件。我可以添加文本,但是如何在标题行中添加超链接。

 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            GridView HeaderGrid = (GridView)sender;
            GridViewRow HeaderGridRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
            TableCell HeaderCell = new TableCell();

            HeaderCell.Text = "Logistics Details";
            HeaderCell.ColumnSpan = 2;
            HeaderGridRow.Cells.Add(HeaderCell);
            GridView1.Controls[0].Controls.AddAt(0, HeaderGridRow);

            HyperLink hl = new HyperLink();
            hl.ID = "hlDetail";
            hl.Text = "Details";
            //the below line doesn't add controls
            HeaderGridRow.Controls.Add(hl);
        }
    }

1 个答案:

答案 0 :(得分:1)

我认为您必须将控件添加到行中的特定单元格,例如

HeaderGridRow.Cells[0].Controls.Add(hl);

因为它是一个网格,所以项目存在于单元格外的行中是不合逻辑的 - 那么就无法知道在哪里显示它。

您可能还需要设置超链接的NavigateUrl属性,否则它不知道在哪里导航,例如。

hl.NavigateURL = "https://www.google.com"