选择使用jQuery的DropDownList值时RangeValidator控件不工作(Range

2019-10-24 05:29发布

我继承了我在更新的中间具有一个网站的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

Answer 1:

原来,这是我的页面加载两次的问题......所以现在的问题将被追查,为什么它加载的两倍!



Answer 2:

我猜范围验证验证下拉列表中的实际“价值”。 但愿这是可能的,通过使用jQuery来填充您的下拉实际条目没有得到一个合适的选择“值”? 也许你可以发布您的下拉列表中呈现的HTML代码?



文章来源: RangeValidator not working when selecting DropDownList value using jQuery