Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
当我更新另一个gridview时,ASP.NET Boundfield会更改_Asp.net_Gridview - Fatal编程技术网

当我更新另一个gridview时,ASP.NET Boundfield会更改

当我更新另一个gridview时,ASP.NET Boundfield会更改,asp.net,gridview,Asp.net,Gridview,我在gridview中有一个boundfield,它通过编程接收其中内容的超链接。它在下拉列表索引更改后获取一个新数据集。数据集的其中一列将链接应用到有数据的字段,并跳过没有数据的字段。您可以在下面看到我应用链接的逻辑: if (e.Row.DataItem != null && int.TryParse(e.Row.Cells[4].Text, out incidents)) { HyperLink incidentsLink = new HyperLink(); in

我在gridview中有一个boundfield,它通过编程接收其中内容的超链接。它在下拉列表索引更改后获取一个新数据集。数据集的其中一列将链接应用到有数据的字段,并跳过没有数据的字段。您可以在下面看到我应用链接的逻辑:

if (e.Row.DataItem != null && int.TryParse(e.Row.Cells[4].Text, out incidents))
{
  HyperLink incidentsLink = new HyperLink();
  incidentsLink.ForeColor = System.Drawing.Color.Blue;
  incidentsLink.NavigateUrl = "~/somesite.aspx?no=" + stnNum + "&dt=" + date;
  incidentsLink.Text = e.Row.Cells[4].Text;
  e.Row.Cells[4].Controls.Add(incidentsLink);
}
这将应用于gridview的RowDataBound。然后我有另一个连接到另一个下拉列表的gridview。当任一下拉列表更改索引时,它会为相关的gridview获取一个新数据集,并使用更新面板触发ajax更新

当第二个gridview更新时,会删除第一个gridview中的链接。它不会删除保留的文本,但文本不再定位到链接。以这种方式创建并放入GridView的所有链接都会丢失其链接属性,但是使用asp:HyperLinkField创建的字段保持不变。问题是stnNum和date不是为第一个gridview返回的数据集的一部分,因此我必须在gridview已经构建之后将它们添加为链接


我能想到的唯一解决方案是重新定义函数,该函数在每次第二个gridview更新时向gridview添加链接。任何其他解决方案都会很有帮助,或者解释我的链接被删除的原因也会很好。

只有在没有任何回发的情况下,才尝试绑定GridView/下拉列表。我相信事后事件会让您的gridview和控件以某种方式丢失数据

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
    // Bind your Grids & Dropdowns here on page load
    }
}