Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动态超链接在gridview中不可见_C#_Asp.net - Fatal编程技术网

C# 动态超链接在gridview中不可见

C# 动态超链接在gridview中不可见,c#,asp.net,C#,Asp.net,我试图使用下面的代码在动态gridview的每一行上显示动态超链接,但它没有显示超链接 gvdates.DataSource = xyz; var m = tool.ToolsID; HyperLink hp = new HyperLink(); hp.Text = e.Row.Cells[i].Text; hp.NavigateUrl = "~/OutageInfo.aspx?name=m;" + hp.Text; e.Row.Cells[i].Controls.Add(hp); gvdate

我试图使用下面的代码在动态gridview的每一行上显示动态超链接,但它没有显示超链接

gvdates.DataSource = xyz;
var m = tool.ToolsID;
HyperLink hp = new HyperLink();
hp.Text = e.Row.Cells[i].Text;
hp.NavigateUrl = "~/OutageInfo.aspx?name=m;" + hp.Text;
e.Row.Cells[i].Controls.Add(hp);
gvdates.DataBind();
e.Row.Cells[i].Controls.Add(gvdates);

您应该在中创建动态控件,而不是因为每次回发时都会触发此事件,而
RowDataBound
仅在
GridView
将数据绑定到其
数据源时才会触发

必须在每次回发时使用与以前相同的ID重新创建动态创建的控件,然后在中保留它们的值,事件将正确触发

因此,您应该在
RowCreated
中创建它们,并在
RowDataBound
中“填充”它们(例如超链接的
NavigateUrl
,如果它来自数据源)

但是,在对
GridView
进行数据绑定后,应添加动态控件。所以这似乎毫无意义(无论
e
是什么):


什么是
e
?这段代码在哪里?gvdates.databind()?我还没有发布完整的代码。我在问有关超链接的问题part@user635545:您发布了不存在的代码,但您希望我们修复现有代码。下面我已经尽了最大努力。gvdates是一个gridview,我正在使用它绑定列。
e.Row.Cells[i].Controls.Add(hp);
gvdates.DataBind();