设置值后,获取dropDownList的selectedValue()

时间:2010-12-13 15:04:46

标签: asp.net drop-down-menu

我在页面上有一个数据绑定下拉列表,在page_load中我设置了selectedValue(在'not isPostBack'中)。

虽然页面显示正常,并在page_load中显示正确的项目..如果我尝试获取selectedValue()并将其显示在屏幕上,我总是得到null ... selectedIndex是-1。

我有一个按钮,点击它时会引用这个ddl的selectedValue,这里它会拉出预期的结果..那么为什么我在设置它之后不能立即看到它,同时仍然在page_load中?

欢呼:)

编辑:代码..

ddl声明

<asp:DropDownList runat="server" ID="dlCountryList" DataSourceID="dsCountryList"
                DataValueField="countrylistid" DataTextField="description">
</asp:DropDownList>

和page_load

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     dlCountryList.SelectedValue = "GR"
     Response.Write("*" + CStr(dlCountryList.SelectedIndex) + "*")
End Sub

1 个答案:

答案 0 :(得分:1)

设置所选值后,手动调用下拉列表的DataBind()方法。

SelectedValue不是控件的普通get / set属性,通过设置它你只设置一个下拉绑定时使用的“标志”。

默认情况下,它在Page_Load事件之后绑定(不确定哪个事件完全确定),但也可以手动调用它。