2010-07-02 4 views
1

DropDownListRangeValidator이 할당 된 업데이트 도중 사이트를 상속 받았습니다. 데이터는 Page_Load의 드롭 다운에 바인딩됩니다. 값은 데이터베이스에서 검색되므로 각 항목의 value 속성은 DB에있는 항목의 고유 한 ID로 설정됩니다.jQuery를 사용하여 DropDownList 값을 선택할 때 RangeValidator가 작동하지 않습니다.

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 
+0

"... 범위 검증에 실패했습니다"는 의미는 무엇입니까? 그것은 오류 메시지를 보거나 실제로 평가할 때 아무 것도 보여주지 못한다는 점에서 실패합니까? – Juri

+0

@ 주리, 미안, 분명히해야했다. 드롭 다운 메뉴의 값이 유효하지 않습니다. 즉, 컨트롤이 올바르게 검증되지 않았습니다. – James

답변

1

내 페이지를 두 번로드 할 때 문제가 발생했음을 나타냅니다. 이제 문제는 두 번로드되는 이유를 추적합니다.

0

내가 범위 검사기 드롭 다운 목록의 실제 "값"을 확인 같아요

업데이트 여기

은 데이터 바인딩 코드입니다. 실제로 jQuery를 사용하여 드롭 다운을 채우면 실제 항목이 적절한 "값"옵션을 얻지 못할 수도 있습니다. 드롭 다운 목록의 렌더링 된 HTML 코드를 게시 할 수 있습니까?

+0

DropDownList를 채우기 위해 jQuery를 사용하지 않고 jQuery를 사용하여 자동으로 값을 선택합니다. DropDownList는 Page_Load의 코드 숨김 페이지의 DropDownList에 바인딩됩니다. 값이 확실히 설정되고 있습니다. 어쨌든 당신이 볼 수 있도록 코드를 게시 할 것입니다. – James

관련 문제