C# C将HyperLinkColumn添加到GridView
我正在尝试将HyperLinkColumns动态添加到我的GridView中。我有以下代码:C# C将HyperLinkColumn添加到GridView,c#,gridview,C#,Gridview,我正在尝试将HyperLinkColumns动态添加到我的GridView中。我有以下代码: HyperLinkColumn objHC = new HyperLinkColumn(); objHC.DataNavigateUrlField = "title"; objHC.DataTextField = "Link text"; objHC.DataNavigateUrlFormatString = "id, title"; objHC.DataTextFormatString = "{2}"
HyperLinkColumn objHC = new HyperLinkColumn();
objHC.DataNavigateUrlField = "title";
objHC.DataTextField = "Link text";
objHC.DataNavigateUrlFormatString = "id, title";
objHC.DataTextFormatString = "{2}";
GridView1.Columns.Add(objHC);
这不管用,所以。。如何将HyperLinkColumn添加到我的GridView中?您似乎把事情搞混了。我不知道-代码是如何编译的 GridView的列集合可以接受DataControlField类型的列。 我认为您需要初始化HyperLinkField并设置相关属性text、NavigateUrl、HeaderText和Target,然后将其添加到columns集合中 HyperLinkColumn类在使用DataGrid时是有意义的,而不是在GridView中
希望能有帮助。看来你把事情搞混了。我不知道-代码是如何编译的 GridView的列集合可以接受DataControlField类型的列。 我认为您需要初始化HyperLinkField并设置相关属性text、NavigateUrl、HeaderText和Target,然后将其添加到columns集合中 HyperLinkColumn类在使用DataGrid时是有意义的,而不是在GridView中
希望对您有所帮助。您必须在数据绑定之前执行此操作,请检查。您必须在数据绑定之前执行此操作,请检查。您可能希望在绑定行时添加它:
protected void yourGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
HyperLink hlControl = new HyperLink();
hlControl.Text = e.Row.Cells[2].Text; //Take back the text (let say you want it in cell of index 2)
hlControl.NavigateUrl = "http://www.stackoverflow.com";
e.Row.Cells[2].Controls.Add(hlControl);//index 2 for the example
}
您可能希望在绑定行时添加它:
protected void yourGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
HyperLink hlControl = new HyperLink();
hlControl.Text = e.Row.Cells[2].Text; //Take back the text (let say you want it in cell of index 2)
hlControl.NavigateUrl = "http://www.stackoverflow.com";
e.Row.Cells[2].Controls.Add(hlControl);//index 2 for the example
}
在这种情况下,如果您只想重定向到另一个URL,那么简单地使用HyperLink web控件,并在RowDataBound事件中将其推送到GridView行的所需单元格中。 或 如果要在发送到其他URL之前执行任何服务器事件,请尝试以下操作 1在GridView的RowDataBound事件中添加LinkButton对象。 2设置CommandName、CommandArgument属性(如果需要),以便将任何数据传递到此对象。
3通过处理GridView的RowCommand事件捕获此事件。如果您只是想重定向到另一个URL,则只需使用HyperLink web控件,并在RowDataBound事件中将其推送到GridView行的所需单元格中。 或 如果要在发送到其他URL之前执行任何服务器事件,请尝试以下操作 1在GridView的RowDataBound事件中添加LinkButton对象。 2设置CommandName、CommandArgument属性(如果需要),以便将任何数据传递到此对象。
3通过处理GridView的RowCommand事件捕获此事件。顺便说一句,我认为您可以使用DataGridView并在设计器中选择链接列,您的问题就解决了。DataGridView确实有一个链接列,您只需在单击时添加一个事件,就可以得到所需的内容。如果您可以切换到DataGridView,这个解决方案就会起作用。顺便说一句,我认为您可以使用DataGridView并在设计器中选择链接列,您的问题就会解决。DataGridView确实有一个链接列,您只需在单击时添加一个事件,就可以得到所需的内容。如果您可以切换到DataGridView,此解决方案将有效。我认为您应该使用HyperLinkField而不是HyperLinkColumn。我认为您应该使用HyperLinkField而不是HyperLinkColumn。我知道此线程很旧,但无法帮助添加我的2美分。以下教程中介绍的过程对我来说非常有效:
我知道这条线很旧,但我还是忍不住加了2美分。以下教程中介绍的过程对我来说非常有效:
它对我真的很有帮助…你能告诉我这个超链接的事件吗?它对我真的很有帮助…你能告诉我这个超链接的事件吗?