ASP .NET 中的 DataGrid 与其他回发事件的利益冲突
本文关键字:事件 利益冲突 其他 NET 中的 DataGrid ASP | 更新日期: 2023-09-27 18:36:30
>我有一个绑定到泛型集合的数据网格。在Page_Load事件中,我检查!this.IsPostback
并相应地在网格上调用 DataBind。
然后,如果我尝试通过指定唯一名称和排序表达式来实现排序,即使页面是回发,它也希望我调用 DataBind。
这种情况通常如何解决?在Page_Load中调用无条件的 DataBind 似乎不是一个好主意。
在 SortCommand 事件中调用数据绑定代码:
void DataGrid1_SortCommand(Object sender, DataGridSortCommandEventArgs e)
{
// Retrieve the data source.
DataTable dt = YOURDATA;
// Create a DataView from the DataTable.
DataView dv = new DataView(dt);
// The DataView provides an easy way to sort. Simply set the
// Sort property with the name of the field to sort by.
dv.Sort = e.SortExpression;
// Rebind the data source and specify that it should be sorted
// by the field specified in the SortExpression property.
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
如果更改排序,则始终需要重新绑定,因为控件需要重新填充而不是更改。自从我做任何 asp.net 以来已经有一段时间了,但我很确定无论您是否调用 databind ,数据都会绑定到每个回发中,您不必手动执行此操作的唯一原因是因为视图状态。