使用jQuery选择DropDownList值时,RangeValidator不起作用

时间:2010-07-02 10:49:07

标签: asp.net jquery vb.net drop-down-menu

我继承了一个我正在更新的网站,其中分配了DropDownListRangeValidator。数据绑定到Page_Load的下拉列表。从数据库中检索值,以便将每个项的value属性设置为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

2 个答案:

答案 0 :(得分:1)

原来这是我的页面加载两次的问题...所以现在问题是要追踪它加载两次的原因!

答案 1 :(得分:0)

我想Range验证器会验证下拉列表的实际“值”。是否有可能通过使用jQuery填充您的下拉列表,实际的条目没有获得正确的选项“值”?您是否可以发布下拉列表中呈现的HTML代码?

相关问题