【问题标题】:RangeValidator not working when selecting DropDownList value using jQuery使用 jQuery 选择 DropDownList 值时 RangeValidator 不起作用
【发布时间】:2010-07-02 10:49:07
【问题描述】:

我继承了一个正在更新的站点,其中分配了一个DropDownList 和一个RangeValidator。数据绑定到 Page_Load 上的下拉列表。这些值是从数据库中检索的,因此每个项目的 value 属性都设置为数据库中项目的唯一 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

【问题讨论】:

  • “...范围验证失败”是什么意思。它是否在您看到错误消息的感觉上失败了,或者它在实际应该时没有评估并且什么也不显示?
  • @Juri,对不起,我应该更清楚。下拉菜单中的值验证失败,即控件正在验证,只是不正确。

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我没有使用 jQuery 来填充 DropDownList,而是使用 jQuery 来自动选择一个值。 DropDownList 绑定到 Page_Load 上代码隐藏页面中的 DropDownList。这个值肯定是被设定的。无论如何我都会发布代码供您查看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多