ASP.. NET GridView数据绑定在事件处理程序之前
本文关键字:程序 事件处理 NET GridView 数据绑定 ASP | 更新日期: 2023-09-27 18:17:47
我正在使用绑定到ObjectDataSource
的网格。在这个网格中,有一列是DropDownList
(AutoPostBack
是true
)和Rating
。这些控件应该使用户能够立即修改数据
与RowCommand
(编辑:在ButtonField
中)不同,控件的处理程序(分别为SelectedIndexChanged
和RatingChanged
)在数据绑定后触发。因此,我要么没有最新的数据,要么必须通过调用DataBind
再次绑定。这两个都不酷。控件不支持行命令。
解决这个问题最好的办法是什么?我是否得到了一些错误的概念,或处理错误的事件?
这里有一些代码:
public partial class _Default : System.Web.UI.Page
{
protected void ObjectDataSource1_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = new MyDataSource();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
// before selecting with ButtonField
// after selecting with TemplateField + Control Event
Debug.WriteLine("Command Handler");
}
protected void Unnamed2_Click(object sender, EventArgs e)
{
// Button event handler, after selecting
Debug.WriteLine("Button Click Handler");
}
protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
// Selecting invoked by ASP.NET data binding
Debug.WriteLine("Selecting");
}
}
你应该在页面的OnLoadComplete事件中明确地设置数据源和绑定网格。