【问题标题】:ASP.NET AcessDataSource and dropdownlistASP.NET AcessDataSource 和下拉列表
【发布时间】:2009-06-09 14:35:49
【问题描述】:

我正在使用带有 .net 3.5 的 Visual Studio 2008。 我有一个链接到访问数据库的 AccessDataSource。我有一个使用 AccessDataSource 的下拉列表。一切都由向导完成,一切正常。

在页面加载时,我决定调用下拉列表的 SelectedIndexChanged 以使用 selectedValue 更新某些内容,但令我惊讶的是 selectedValue 是一个空字符串。

为了解决这个问题,我把它放在我的 page_load 中 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 处理 Me.Load If Not IsPostBack Then

        ddlAnniversaire.DataBind()
        ddlAnniversaire_SelectedIndexChanged(Nothing, Nothing)
    End If

End Sub

如果我没有将 ddlAnniversaire.DataBind() 放在我的方法中,则 ddlAnniversaire.selectedValue 为 ""。为什么?
通常什么时候调用 ddlAnniversaire.DataBind()?

谢谢

【问题讨论】:

  • 如果您只是不想在 ddl 列表中选择某些内容,可以使用:SelectedIndex = 0 或 SelectedValue = "Your value"。

标签: asp.net drop-down-menu datasource data-binding


【解决方案1】:

DataBind() 事件发生在 Page_Load 之后和 Page Lifecycle (MSDN link) 的 PreRender 事件中。

希望这会有所帮助, JP

【讨论】:

  • 我可以在 Page_Load 中调用 DataBing() 吗?它会被调用两次吗?
  • 经过一些测试,我发现有时它会被调用两次,但我无法找出原因。
  • 要预选一个item,可以在页面的OnRender事件中设置DDL的SelectedIndex或者处理DDL的Load事件。
猜你喜欢
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
相关资源
最近更新 更多