部分视图点击事件不会激发

我的* .aspx页面(主页):

function getEmployeeHours(employeeId,year,month) { $('#clocked-details').load('/Employees/GetEmployeeClockedHours/',{ 'employeeId': employeeId,'year': year,'month': month }); }; 

我的部分视图* .ascx:

     

如上面的代码片段,我需要从主视图中获取部分视图btnSave来触发click事件。

我在主视图中写了下面的代码。

 $('#btnSave').off('click').on('click', function () { var yearValue = $("#year").val(); var monthValue = $("#month").val(); $.ajax({ url: "/Employees/UpdateEmployeeClockedHoursByProvider", type: 'POST', cache: false, data: { employeeId: employeeId, year: yearValue, month: monthValue }, success: function (result) { }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); return false; }); 

但它没有触发。这里我使用load jquery方法异步加载我的局部视图。

所以我的问题是如何触发局部视图的点击事件?

由于包含按钮的用户控件是动态加载的,因此您可以使用("#btnSave").live("click"){...} jquery事件,同时将脚本保留在主视图中,这可以跟踪将来添加到DOM的控件。 因此,只要出现与“live(..)”的指定选择器匹配的控件,该事件就会自动换行。

希望这对你有所帮助。

由于您的html动态加载到页面中,因此您必须为DOM查询提供更多上下文。

试试这个。

 $(document).on('click', '#bntSave', function(){ //do stuff });