【问题标题】:ASP.NET requery DropDownList after filter?过滤后 ASP.NET 重新查询 DropDownList?
【发布时间】:2012-04-04 00:55:47
【问题描述】:

我有 2 个下拉列表框。两者都基于 SQLDataSource 控件。当其中一个的值发生变化时,它充当另一个过滤器。 事件触发良好,我更改了 SQLDataSource 上的过滤器,但第二个 DropDownList 中的列表没有更改。

几个小时以来,我一直在寻找这个问题的答案,这让我非常沮丧。看起来它应该像 requery 命令一样简单。 有问题的代码如下。

Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
If Me.DropDownList1.SelectedValue > 0 Then
Me.SqlDataSource2.FilterExpression = "Arcft_Make_ID = " & Me.DropDownList1.SelectedValue
Else
Me.SqlDataSource2.FilterExpression = ""
End If
End Sub

【问题讨论】:

  • 您是否在更新 FilterExpression 后在第二个下拉列表中明确调用了 DataBind?即,在您的 End If 行之后,添加 Me.DropDownList2.DataBind()

标签: asp.net combobox reload


【解决方案1】:

如果我没记错的话,您实际上并没有通过应用 FilterExpression 做任何事情。您仍然需要再次执行查询。请参阅 MSDN 文档here。顶部的相关点:“获取或设置调用 Select 方法时应用的过滤表达式。”。所以需要再次调用 Select 方法。

【讨论】:

  • 对不起,我花了这么长时间才回复,我想我会收到一封回复的电子邮件通知。我自己找到了答案。我能够自己找到答案。我会清除列表,然后再次对其进行数据绑定。不清除它会导致新记录被添加到下拉列表中,而不是替换它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-13
  • 2014-10-13
  • 1970-01-01
  • 1970-01-01
  • 2011-08-05
  • 1970-01-01
相关资源
最近更新 更多