Я унаследовал сайт, который я посередине, который имеет DropDownList и назначенный ему RangeValidator. Данные привязаны к выпадающему меню Page_Load. Значения извлекаются из базы данных, поэтому для свойства value каждого элемента устанавливается уникальный идентификатор элемента в БД.RangeValidator не работает при выборе значения DropDownList с использованием jQuery
RangeValidator выглядит что-то вроде:
<asp:rangevalidator id="ddRangeValidator" runat="server" ControlToValidate="ddMenu" ErrorMessage="Please select value in range" MinimumValue="1" MaximumValue="100000" Type="Integer">*</asp:rangevalidator>
У меня есть метод, который автоматически заполнит это значение в JQuery, например,
$("#ddMenu").val("An Option");
Это работает, однако, когда я пытаюсь опубликовать страницу, проверка диапазона не срабатывает. Тогда, даже если я вручную выберу это значение или выберем другое допустимое значение, оно все равно не будет проверяться. Единственный способ проверить это - выбрать недопустимое значение, а затем повторно выбрать допустимый.
Любые идеи?
Update
Вот данные кода связывания:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load
If Not Page.IsPostBack Then
Dim ds As New DataSet()
Dim myDbObject As New myDbObject()
ds = myDbObject.ToDataSet() // retrieves all objects from the database
// store the results in a temporary view to filter
Dim dv As DataView
dv = New DataView(ds.Tables(0), "IsLive = True", "ID", DataViewRowState.CurrentRows)
Dim i As Integer = 0
ddMenu.Items.Add("Select a value")
ddMenu.Items.Item(0).Value = 0
// add all objects from filtered list into drop down menu
For i = 0 To dv.Count - 1
With ddMenu.Items
// add a new item
.Add(dv.Item(i).Item("Name"))
// set the Value property as unique ID of object
.Item(i + 1).Value = dv.Item(i).Item("ID")
End With
Next
End If
End If
Что означают слова «... проверка валидации диапазона». Сбой в том, что вы видите сообщение об ошибке, или он не может оценить и ничего не показывать, когда он на самом деле должен? – Juri
@ Juri, извините, я должен был быть более ясным. Значение в выпадающем меню не проверяет правильность, т. Е. Элемент управления проверяется корректно. – James