我在asp.net webforms页面中有一个gridview
,其中imagebutton
位于更新面板内,还有一个 jquery ui 滑块,带有按钮和文本框,可将值传递给滑块。我使用以下脚本作为滑块:
$(function () {
var lvalue = $(".lblLRating").text();
var rvalue = $(".lblHRating").text();
$("#slider-range").slider({
range: true,
min: 0,
max: 5,
values: [lvalue, rvalue],
slide: function (event, ui) {
// ShowCurrentTime();
// $(".txtRng1").trigger("Change");
$(".txtRng1").val(ui.values[0]);
var lVal = $(".txtRng1").val();
// some if conditions
$(".txtRng2").val(ui.values[1]);
var rVal = $(".txtRng2").val();
// some if conditions
//document.getElementById("<%= btnApplyWt.ClientID %>").click();
$('#<%= btnApplyWt.ClientID %>').trigger('click');
__doPostBack("btnApplyWt_Click", "OnClick");
}
});
$(".txtRng1").val($("#slider-range").slider("values", 0));
$(".txtRng2").val($("#slider-range").slider("values", 1));
var lVal = $(".txtRng1").val();
// some if conditions
}
});
asp.net控件
<asp:Button ID="btnApplyWt" runat="server" CssClass="btn btn-primary pull-right"
OnClick="btnApplyWt_Click" Style="display: none;"></asp:Button>
<asp:TextBox ID="txtRng1" runat="server" CssClass="pull-right txtRng1" OnTextChanged="ontxt_TextChanged"
AutoPostBack="true" Style="display: none;"></asp:TextBox>
<asp:TextBox ID="txtRng2" runat="server" CssClass="pull-right txtRng2" OnTextChanged="ontxt_TextChanged"
AutoPostBack="true" Style="display: none;"></asp:TextBox>
这正如预期的那样正常。
但是,主要问题是gridview中的ImageButton
。单击gridview内的图像按钮时,将调用ontxt_TextChanged
事件,而不是首次单击时的图像按钮单击事件。然后,imagebutton click事件正常工作,直到我们执行完整的回发(手动刷新页面)。
任何人都知道出了什么问题?如果我需要提供更多详细信息,请与我们联系。
答案 0 :(得分:0)
以下两行将导致在OnClick之前触发OnTextChanged事件。
$(&#34; .txtRng1&#34;)。val($(&#34;#slider-range&#34;)。slider(&#34; values&#34;,0)); $(&#34; .txtRng2&#34;)。val($(&#34;#slider-range&#34;)。slider(&#34; values&#34;,1));