【问题标题】:Gridview Not load when dropdownlist event fired触发下拉列表事件时不加载Gridview
【发布时间】:2013-05-08 04:43:17
【问题描述】:

这是我的 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();
}

提前谢谢...

【问题讨论】:

  • 你在哪里设置iSsnstrddlWeek的值? obj.TotalWeekHours 返回什么类型的数据表?
  • 对不起,我没有提到。我在 LoadData() 函数中传递 iSsn 和 strddlweek。TotalWeekHours 是 .dbml 文件中的一个函数。
  • 您是否收到某种错误消息,或者数据只是没有显示在 gridView 中?
  • 我对 iSsn 进行硬编码,然后从我存储在 strddlWeek 中的 ddl 中获取日期。
  • 没有错误消息。但在gridview中,当我点击按钮保存方法时发生绑定......在btn_save方法中我调用相同的loaddata()函数。但是当我选择ddl时我想绑定。

标签: c# asp.net gridview


【解决方案1】:

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

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

【讨论】:

  • 首先感谢 rply..ya 我放了断点,它选择了正确的 ddl 值,但无法绑定到我的 gridview
  • 我在您的代码中没有看到您获取所选值并将其用于任何事情的任何地方?也许我们需要看更多代码?
猜你喜欢
  • 2010-10-03
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-21
相关资源
最近更新 更多