У меня есть пользовательский элемент управления, который имеет дочерние элементы управления на основе форм.Этот дочерний элемент управления System.Web.UI.WebControls.DropDownList
.Страница, на которой находится мой элемент управления, обрабатывает панель обновления.У меня нет доступа к нему.В этом контексте я могу зарегистрировать сборку и разместить собственный настраиваемый элемент управления на странице.
Рассмотрим выпадающий список стран и регионов, связанный вместе с помощью SelectedIndexChanged
.
Все работает отлично, покакак я использую свою мышьЯ выбираю страну щелчком мыши, и раскрывающиеся списки регионов без «обновления страницы», поэтому частичная обратная передача на панели обновлений работает нормально.
Однако, если я "вкладываю" раскрывающийся список стран и нажимаю стрелку вниз на клавиатуре, происходит обновление страницы.Раскрывающийся список регионов загружает правильные регионы, но я не совсем понимаю, почему клавиши со стрелками на клавиатуре вызывают обновление страницы, а использование мыши - нет.
Кроме того, я не нажимаю клавишу ввода.Просто нажмите на стрелку вниз.
Надеясь, что кто-то может указать мне правильное направление и видел это раньше.Вот основные возможности раскрывающегося списка.У меня его частично раздели в данный момент.
Namespace Form
Public Class DropDownList
Inherits System.Web.UI.WebControls.DropDownList
Public Sub New()
ClientIDMode = ClientIDMode.Static
EnableViewState = True
AutoPostBack = True
End Sub
Private Sub DropDownList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SelectedIndexChanged
If Me.SelectedValue.ToString IsNot ViewState("SelectedValue") Then
ViewState("SelectedValue") = Me.SelectedValue.ToString
HandleValueChange()
End If
End Sub
Private Sub HandleValueChange()
' Stripped this out for now just to investigate page refresh
End Sub
End Class
End Namespace