Có vẻ như câu hỏi này là was addressed here, nhưng giải pháp của anh ấy không hiệu quả đối với tôi. Tôi đang tạo một hệ thống menu thả xuống động để điền vào danh sách thả xuống thứ cấp với kết quả của truy vấn dựa trên mục đã chọn trong menu thả xuống đầu tiên.Giá trị DropDownList SelectedIndex không cập nhật trên AutoPostback
thả xuống đầu tiên bị dân cư:
Dim db As New linqclassesDataContext
Dim categories = (From c In db.faq_cats)
NewFaqDropDownCategory.DataSource = categories
NewFaqDropDownCategory.DataTextField = "category"
NewFaqDropDownCategory.DataValueField = "category_id"
NewFaqDropDownCategory.DataBind()
Unset(categories)
Unset(db)
thả xuống thứ hai bị dân cư:
Protected Sub NewFaqDropDownCategory_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim temp As Integer = CInt(Val(NewFaqDropDownCategory.SelectedIndex))
MsgBox(theDrop.SelectedValue)
Return
'Dim db As New linqclassesDataContext
'Dim faqs = (From f In db.faqs Where f.category = NewFaqDropDownCategory.SelectedValue)
'NewFaqDropDownList.DataSource = faqs
'NewFaqDropDownList.DataTextField = "question"
'NewFaqDropDownList.DataValueField = "id"
'NewFaqDropDownList.DataBind()
'NewFaqLabel.Visible = True
'NewFaqDropDownList.Visible = True
'Unset(faqs)
'Unset(db)
End Sub
Các đánh dấu cho các danh sách đầu tiên ...
<asp:DropDownList ID="NewFaqDropDownCategory" AutoPostBack="true" runat="server" OnSelectedIndexChanged="NewFaqDropDownCategory_SelectedIndexChanged">
</asp:DropDownList>
Và thứ hai ...
<asp:DropDownList ID="NewFaqDropDownList" runat="server" Visible="false">
</asp:DropDownList>
Không có vấn đề gì tôi đã thử, tôi luôn nhận được "1" (giá trị của mục đầu tiên trong menu thả xuống thứ hai). Các bài tôi tham chiếu trước đó nói rằng điều này đã làm với AutoPostBack và máy chủ không biết danh sách đã được cập nhật chưa.
Có ai có thể làm rõ điều này cho tôi thêm một chút không?
ah hah! bạn hoàn toàn đúng. Tôi đặt sự đột nhập vào đó, phát hiện ra nó đã thực sự được gọi ngay trước khi sự kiện bị sa thải. Tôi bọc DataBind trong một điều kiện không page.ispostback nếu không, và sửa nó lên! cảm ơn! – Anders
Yay, SO trinh của tôi bị mất với câu trả lời được chấp nhận đầu tiên của tôi :) – grenade