通过使用jQuery的on()方法来绑定已加载的局部视图中的事件处理程序。
例如,如果我们有一个名为"mypartialview.cshtml"的局部视图,其中包含布局脚本:
@section scripts{
}
我们可以使用以下代码来动态加载该视图,并确保其中的脚本能够在加载后被执行:
$.ajax({
url: '/mycontroller/mypartialview',
type: 'GET',
success: function(result){
$('#partialContainer').html(result);
$('#partialContainer').find('script').each(function(){
$.globalEval(this.text);
});
},
error: function(xhr, status, error){
alert('Error occurred: ' + error);
}
});
$('#partialContainer').on('click', '#myButton', function(){
alert('Button click event from partial view!');
});
首先,在success回调中,我们使用jQuery的html()函数将返回的局部视图内容插入到id为"partialContainer"的元素中。然后,我们使用find()函数找到其中的所有脚本标签,并使用$.globalEval()函数来执行它们的文本内容。
最后,我们使用on()函数来绑定动态加载的局部视图中的事件处理程序。在本例中,我们绑定了在id为"myButton"的按钮被点击时弹出警告框的事件处理程序。