2009-05-03 92 views
0

我有兩個DropDownListBoxes一個叫做ddlDay,另一個是ddlMonth。顧名思義,ddlDay的值從01到31(不是動態的),ddlMonth的值從01到12.這些值不是動態設置的。DropDownList綁定問題

當頁面加載時,我從數據庫中獲取值..取決於值,我使用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

nitpick ...「int」是Integer在其他語言中的常用保留標識符,我會考慮改變它以減少混淆。什麼是hh命名空間? – 2009-05-03 21:55:27

+0

是的太不可思議了,謝謝你的警告,我把它改成了一個更有意義的單詞,是的......是一個命名空間...... – 2009-05-04 03:45:51

回答

1

試試這個設置初始值: ClearSelection方法避免了與HttpException異常:

ddlDay.ClearSelection() 
ddlDay.Items.FindByValue(int.InterviewDate.Day.ToString("00")).Selected = True 

ddlMonth.ClearSelection() 
ddlMonth.Items.FindByValue(int.InterviewDate.Month.ToString("00")).Selected = True 

注意 '不能在DropDownList中選擇多個項目。'信息。

編輯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> 

如果設置了 「項目1」 你ddlItems.SelectedItem.Value這樣的:

ddlItems.SelectedItem.Value = "Item 1" 

你的下拉列表變成這樣:

<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.Selec tedItem指的是您的下拉選擇的項目。