我有两个DropDownListBox,一个名为ddlDay,另一个名为ddlMonth。顾名思义,ddlDay的值为01到31(非动态),ddlMonth的值为01到12.这些值不是动态设置的。
当页面加载时,我从数据库中获取值..取决于值,我使用ddlDay.SelectedItem.Value = the value from the db to set
值并选择项目。
我在下面提供的代码使用If Not Page.IsPostback Then...
语句进行了测试,没有任何运气。
然而,当第一次加载页面时,没有任何反应。但是如果我刷新页面并因此导致回发,则值会正确绑定。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
loadInterview()
End Sub
Private Sub loadInterview()
If Request.QueryString("iID") = "" Or Request.QueryString("iID") Is Nothing Then
Response.Redirect("interviews_list.aspx")
Else
Dim int As New hh.Interviews
int = hh.Interviews.ReturnSingleInterview(Request.QueryString("iID"))
ddlDay.SelectedItem.Value = int.InterviewDate.Day.ToString("00")
ddlMonth.SelectedItem.Value = int.InterviewDate.Month.ToString("00")
txtYear.Text = int.InterviewDate.Year
txtPerson.Text = int.InterviewPerson
txtTitle.Text = int.InterviewTitle
txtText.Text = int.InterviewText
End If
答案 0 :(得分:1)
尝试此设置初始值:
ddlDay.ClearSelection()
ddlDay.Items.FindByValue(int.InterviewDate.Day.ToString("00")).Selected = True
ddlMonth.ClearSelection()
ddlMonth.Items.FindByValue(int.InterviewDate.Month.ToString("00")).Selected = True
注意: ClearSelection方法避免了“无法在DropDownList中选择多个项目”的HttpException异常。消息。
编辑2:假设您有此下拉列表:
<asp:DropDownList ID="ddlItems" runat="server">
<asp:ListItem Text="Item 1" Value="Item 1"></asp:ListItem>
<asp:ListItem Text="Item 2" Value="Item 2" Selected="true"></asp:ListItem>
<asp:ListItem Text="Item 3" Value="Item 3"></asp:ListItem>
</asp:DropDownList>
如果将“Item 1”设置为ddlItems.SelectedItem.Value,则:
ddlItems.SelectedItem.Value = "Item 1"
你的dropDown列表就像那样:
<asp:DropDownList ID="ddlItems" runat="server">
<asp:ListItem Text="Item 1" Value="Item 1"></asp:ListItem>
<asp:ListItem Text="Item 2" Value="Item 1" Selected="true"></asp:ListItem>
<asp:ListItem Text="Item 3" Value="Item 3"></asp:ListItem>
</asp:DropDownList>
我的意思是ddlItems.SelectedItem指的是你的下拉列表的选定项目。