VB - событие нажатия кнопки не работает должным образом - PullRequest
0 голосов
/ 23 мая 2011

В моем приложении для Windows у меня есть кнопка, которая видна только тогда, когда пользователь выбирает определенное значение в DropDownList.

По какой-то причине кнопка не работает, когда я нажимаю на нее.

Я включил кнопку при загрузке страницы, и она работает, однако, когда я выбираю значение в раскрывающемся списке, кнопка не работает.

Что-то мне здесь не хватает? Любая обратная связь будет принята с благодарностью. Спасибо

Код:

Protected Sub DropDownList4_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DropDownList4.SelectedIndexChanged
    If DropDownList4.SelectedValue = "Yes" Then
        btnInsert.Visible = True
    Endif
End Sub

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnInsert.Click
    Response.Redirect("Menu.aspx")
    DropDownList4.SelectedValue = "Yes"
    txtfirstName.Text = ""
    txtSurname.Text = ""
    txtJobTitle.Text = ""
    txtCountry.Text = ""
    txtWork.Text = ""
    DropDownList7.SelectedValue = ""
End Sub

Ответы [ 2 ]

1 голос
/ 24 мая 2011

Из того, что мы видим из предоставленного вами кода, все, что вы делаете, - это изменение видимости. Вы отключаете кнопку где-нибудь еще? Также проверьте свойства кнопки в режиме конструктора, чтобы убедиться, что вы случайно не изменили свойство Enabled на «False». Прошло много времени с тех пор, как я делал какие-либо веб-приложения, но если вы программно изменяете разрешенное значение кнопки, я бы предложил добавить строку Enabled = True в выбранную вами подпрограмму изменения индекса:

Если DropDownList4.SelectedValue = "Да"
Тогда
btnInsert.Visible = True
btnInsert.Enabled = True
Endif

Это было для меня какое-то время, поэтому я не могу вспомнить, включен ли он или что-то еще.

Существует также вероятность того, что у вас есть панель или что-то подобное над вашей кнопкой, и это мешает вам фактически нажать на кнопку.

Кроме того, поставьте точку останова в первой строке события нажатия кнопки и убедитесь, что вы не добираетесь туда, а не вводите код, и он работает не так, как вы ожидаете.

0 голосов
/ 30 мая 2011

Попробуйте SelectedItem.Value вместо этого, как это

Protected Sub DropDownList4_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DropDownList4.SelectedIndexChanged
    If DropDownList4.SelectedItem.Value = "Yes" Then
        btnInsert.Visible = True
    Endif
End Sub
...