我繼承了一個正在更新的站點,其中有一個DropDownList和RangeValidator分配給它。數據綁定到Page_Load上的下拉列表中。從數據庫中檢索值,以便將每個項目的值屬性設置爲數據庫中項目的唯一ID。RangeValidator在使用jQuery選擇DropDownList值時不起作用
的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 2010-07-02 10:52:37
@Juri,對不起,我應該更清楚。下拉菜單中的值未通過驗證,即控件正在驗證中,只是不正確。 – James 2010-07-02 11:56:29