0

这是我的 ddl 选择索引更改事件,在里面我调用 LoadData() 函数。

我的问题是每当我在下拉列表中选择新值时,我的 gridview 都无法根据该值绑定。供参考:

  1. 我给 ddl 提供了真正的自动回发。
  2. 低于总周数是将参数传递给存储过程并正确返回,但我无法绑定。
protected void ddlWeek_SelectedIndexChanged(object sender, DropDownListEventArgs e)
{ 
    LoadData(); 
}

private void LoadData()
{
    var res = obj.TotalWeekHours(iSsn, strddlWeek);
    Grid2.DataSource = res;
    Grid2.DataBind();
}

提前致谢...

4

1 回答 1

0

在该事件处理程序中放置一个断点并检查 SelectedValue - 我想你会看到它没有更新为用户选择的值。这是事件处理程序触发方式的问题。我发现的唯一解决方案是根据 PreRender 中的新值进行数据绑定。所以,我认为现在发生的事情是:事件处理程序触发并且数据绑定发生在旧的选定值上 - 使它看起来像没有发生任何事情......但是如果你再次触发事件(选择一个新值)你应该看到它更新为之前选择的值。就像,它会被一个选择“落后”。在 PreRender 中绑定您的数据是我发现始终如一地解决该问题的唯一方法。

试试看,如果你一遍又一遍地做,如果你被一个选择“落后”了,请告诉我。

于 2013-05-07T20:43:17.967 回答