C# 将数据集绑定到GridView会产生无限循环
我试图将GridView绑定到数据集,但它引发堆栈溢出错误。当我调试它时,它会很好地运行到数据绑定行(似乎它从服务器和所有东西获取了正确的记录),但是在执行数据绑定之后,它会跳到方法的顶部并重新运行整个方法,这会导致堆栈溢出 我不明白这为什么不起作用。我以前用DataTable做过类似的事情,效果很好 以下是我的绑定方式C# 将数据集绑定到GridView会产生无限循环,c#,asp.net,C#,Asp.net,我试图将GridView绑定到数据集,但它引发堆栈溢出错误。当我调试它时,它会很好地运行到数据绑定行(似乎它从服务器和所有东西获取了正确的记录),但是在执行数据绑定之后,它会跳到方法的顶部并重新运行整个方法,这会导致堆栈溢出 我不明白这为什么不起作用。我以前用DataTable做过类似的事情,效果很好 以下是我的绑定方式 public void CreateGrid(String str) { try { sqlConnection = new S
public void CreateGrid(String str)
{
try
{
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["MY_CONNECTION_STRING"].ConnectionString;
sqlConnection.Open();
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(str, sqlConnection);
adapter.Fill(dt);
sqlConnection.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.GetType().Name + ":" + ex.Message);
}
if (dt.Tables.Count > 0)
{
Grid.DataSource = dt;
Grid.DataBind();
}
}
这是我的HTML部分
<asp:GridView runat="server" ID="Grid" AutoGenerateColumns="false"
OnDataBinding="RebindGrid" AllowPaging="True" PageSize="10" AllowSorting="True" CellPadding="5"
OnPageIndexChanging="Grid_PageIndexChanging"
OnSorting="Grid_Sorting"
Width="100%" CssClass="mGrid">
<Columns>
<asp:BoundField DataField="ID" ItemStyle-Width="0%"
HeaderText="" Visible="false" SortExpression="ID"/>
</Columns>
</asp:GridView>
这看起来是个问题
OnDataBinding="RebindGrid"
每次绑定数据时,都需要重新绑定。我们必须查看重新绑定网格的代码。这取决于
RebindGrid
方法的实际功能,但它看起来像是在绑定网格时重新绑定网格
Remove
OnDataBinding=“RebindGrid”
您的RebindGrid()方法看起来像什么?它很有可能再次调用您的方法。正确。我犯了一个愚蠢的错误。我在前面删除了一行,该行阻止它在Rebind方法中再次进行数据绑定。完全忘记了。非常感谢。