ASP.. NET按钮服务器点击事件在jquery e.p preventdefault()触发后不触发
本文关键字:preventdefault jquery 服务器 按钮 NET 事件 ASP | 更新日期: 2023-09-27 18:12:10
我有一个网页,我使用jQuery AJAX从数据库加载数据来填充下拉列表。当jQuery函数运行时,服务器事件不会触发。
jQuery: $('#Cmb_PDept').on('change', function (e) {
e.preventDefault();
var DepartmentId = $('#Cmb_PDept :selected').val();
if (DepartmentId == 0) {
EmpCombo.empty();
textbox.val("");
return;
}
$.ajax({
type: "POST",
cache: false,
contentType: "application/json; charset=utf-8",
url: '/WebService/GetEmployeeByDepID.asmx/GetEmployee',
data: '{ "DepartmentId": "' + DepartmentId + '" }',
dataType: 'json',
success: function (data) {
var data = $.parseJSON(data.d)
var options = $("#Cmb_PEmp");
options.empty();
for (var i = 0; i < data.length ; i++) {
options.append("<option value='" + data[i]["EmployeeId"] + "'>" + data[i]["EmployeeName"] + "</option>");
}
myEvent();
},
error: function () { alert("error"); }
});
});
ASP。. NET Button
控件
<asp:Button ID="Btn_PIncrementSave" runat="server" Text="Save"
OnClick="Btn_PIncrementSave_Click" CausesValidation="false" />
onClick
事件
protected void Btn_PIncrementSave_Click(object sender, EventArgs e)
{
try
{
TxBx_IncrementAmount.Text = Hid_BasicSalary.Value;
}
catch (Exception ex)
{
Utility.Msg_Error(this.Master, ex.Message);
}
}
此事件不触发。我想这是由于
e.preventDefault();
当我删除这个,服务器端事件工作正常
您的答案在问题的标题中,如果您使用e.PreventDefault()
,它会停止触发服务器端事件,或者如果您在这种情况下编写return false
声明,服务器端事件也不会触发。你从你的代码中删除e.PreventDefault()
,它将触发它。
为您的ASP按钮添加ClientIDMode="Static"
和Check。当源移动到浏览器时,ASP:Button
ID是否会改变。也许这将是一个原因。通过单击浏览器中的视图源来检查ID
。