2013-09-13 2 views
0
Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged 
     MsgBox("OK") 
     If (DropDownList2.SelectedIndex) = 1 Then 
      ListBox1.Visible = True 
     End If 
    End Sub 

У меня возникла проблема в приведенном выше коде. Я хочу сделать список видимым, когда значение dropdownlist изменится. Знает ли кто-нибудь это?код для видимости listbox in vb.net

+1

В чем проблема, с которой вы столкнулись – Bibhu

+2

Во-первых, никогда не используйте MsgBox в веб-приложении. Во-вторых, кроме этого код выглядит любителем, но все в порядке. Что это делает, что вы находите неожиданным? –

+0

+1 Дэн-о для упоминания MsgBox. @ user2771784 - Удалить Если ... EndIf, сохраните только «ListBox1.Visible = True». – afzalulh

ответ

1

Выпадающее меню SelectedIndexChange будет срабатывать при каждом выборе другого элемента. Но вы делаете ListBox видимым только тогда, когда SelectedIndex = 1. Выделите условие SelectedIndex следующим образом:

Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged 
     'MsgBox("OK") 
     ListBox1.Visible = True 
End Sub 

И ListBox будет виден при каждом изменении выбора DropDown.

BTW: Непонятно, как вы устанавливаете видимость списка в false. Уу может опубликовать некоторую разметку и код, чтобы понять это.

0

Вы можете использовать следующий код, чтобы получить ListBox появляться на каких-либо изменений в стоимости DropDownList

Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged 

Dim cs As ClientScriptManager = Page.ClientScript 

cs.RegisterClientScriptBlock(Me.GetType(), "MyScript", "<script type=""text/javascript""> Alert("Ok"); </script>", False); 
ListBox1.Visible = True 
    End Sub 

Однако, если вы хотите изменить, когда пользователь выбирает первый/второй или п-й элемент, вы можете использовать это

Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged 

    Dim cs As ClientScriptManager = Page.ClientScript 

    cs.RegisterClientScriptBlock(Me.GetType(), "MyScript", "<script type=""text/javascript""> Alert("Ok"); </script>", False); 


if DropDownList2.SelectedIndex = 0 //makes the listbox visible only when you select the first item, Use 1 for making the list box visible on the selection of the second item, so on and so forth. 
    ListBox1.Visible = True 
end if 

     End Sub