Кнопка Asp не работает при первом щелчке, но работает при втором щелчке

#asp.net #button

Вопрос:

У меня проблема, когда моя кнопка не запускает функцию при первом щелчке. Но он срабатывает после второго щелчка. Я не уверен, что не так в моем коде и как исправить проблему. Но я попытался изменить код OnClientClick кнопки на OnClientClick=»filterData();возвращает false;», но он все еще не работает.

Кто-нибудь может мне в этом помочь ?

Код кнопки:

  <div class="form-group row">
      <div class="row">
         <asp:Button ID="btn_filter" runat="server" Text="Apply Filter" OnClientClick="return FilterData()" />
      </div>
 </div>
 

Код данных фильтра :

 function FilterData() {
        if (obj.country != "" amp;amp; obj.state.length > 0 amp;amp; obj.eventtype.length > 0) {
            var obj = {}
            var country = "";
            var state = [];
            var eventtype = []
            country = $('#<%=ddl_country.ClientID%> option:selected')[0].value;
            $('#<%=lstBox_State.ClientID%> option:selected').each(function (i) {
                state.push($(this).val());
            });
            $('#<%=lstBox_EventType.ClientID%> option:selected').each(function (i) {
                eventtype.push($(this).val());
            });
            obj.country = country;
            obj.state = state;
            obj.eventtype = eventtype;
            $("#<%=PostData.ClientID%>").val = JSON.stringify(obj)
            return true;
        }
        else {
            return false;
        }
    }
 

За кодом:

     Protected Sub btn_filter_Click(sender As Object, e As EventArgs) Handles btn_filter.Click
    If String.IsNullOrEmpty(PostData.Value) = False Then
        Dim serializer As New System.Web.Script.Serialization.JavaScriptSerializer()
        Dim coll As NameValueCollection = HttpContext.Current.Request.Form
        Dim obj As PostClass = serializer.Deserialize(Of PostClass)(PostData.Value.ToString())
        Queryformation(obj)
        conn.Close()
        conn.ConnectionString = constr.ToString()
        conn.Open()
        Dim query As String = "select * from Calendervalues "   builder.ToString().Trim
        _SqlDataAdapter = New SqlDataAdapter(query, conn)
        _SqlDataAdapter.SelectCommand = New SqlCommand(query, conn)
        datatable = New DataTable
        _SqlDataAdapter.Fill(datatable)
        Dim rows As New List(Of Dictionary(Of String, Object))()
        Dim row As Dictionary(Of String, Object)
        For Each dr As DataRow In datatable.Rows
            row = New Dictionary(Of String, Object)()
            For Each col As DataColumn In datatable.Columns
                If col.DataType = System.Type.GetType("System.DateTime") Then
                    row.Add(col.ColumnName, DateTime.Parse(dr(col).ToString()).ToString("yyyy-MM-dd", CultureInfo.InvariantCulture))
                Else
                    row.Add(col.ColumnName, dr(col))
                End If
            Next
            rows.Add(row)
        Next
        Jsondata.Value = serializer.Serialize(rows)
    End If
End Sub