#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