我继承了我在更新的中间具有一个网站的DropDownList和RangeValidator控件分配给它。 该数据势必对的Page_Load下拉。 的值是从数据库中检索,以便每个项目的值属性设置为在DB项目的唯一ID。
该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");
然而,这工作,当我尝试发布范围验证失败的页面。 然后,即使我手动选择的值,或选择它仍然无法验证另一有效值。 使它验证的唯一方法是选择非有效的值,然后重新选择一个有效的。
有任何想法吗?
更新
下面是数据绑定代码:
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