我正在使用绑定到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");
}
}
答案 0 :(得分:0)
您应该在页面的OnLoadComplete事件中显式设置数据源并数据绑定网格。