【发布时间】:2010-12-13 15:04:45
【问题描述】:
我在页面上有一个数据绑定下拉列表,在 page_load 中我设置了 selectedValue(在“not isPostBack”内)。
虽然页面显示正常并显示正确的项目为选中.. 如果我尝试获取 selectedValue() 并将其显示到屏幕上,我总是在 page_load 内得到 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
【问题讨论】:
-
你能粘贴下拉列表的标记和Page_Load中的C#/VB代码部分吗?
-
设置选中的值后尝试手动调用dll的DataBind()方法。
-
@shadow 向导 - 谢谢!那是诀窍..但是我缺少什么基础知识让我想知道为什么会这样? databind() 是否在其他地方被隐式调用,这允许我的按钮访问正确的 selectedValue()?
-
干杯,很高兴它正在工作..有关更多详细信息,请参阅我的答案。 :)