ASP.NET MVC 主视图引用的js(jquery)在分部视图中无效,如何解决?
通过ajax更新页面容器中的分部视图,更新区域是个table,行tr有个鼠标事件,用jquery.on()方法绑定更新后的行没有绑定事件,就不触发了...
通过ajax更新页面容器中的分部视图,更新区域是个table,行tr有个鼠标事件,用jquery .on()方法绑定
更新后的行没有绑定事件 ,就不触发了 展开
更新后的行没有绑定事件 ,就不触发了 展开
2个回答
展开全部
使用ajax做区域更新,在更新之前要将绑定的事件移除,在更新完DOM之后要重新绑更新区域内的事件。
在PageRequestManager的pageLoading和pageLoaded事件来处理就好。
在PageRequestManager的pageLoading和pageLoaded事件来处理就好。
更多追问追答
追问
谢谢,但是MVC下没有PageRequestManager的吧。。。
追答
在js文件里面,通过资源引入的。
你看看工程里面的几个js文件,其中能找到PageRequestManager,可以通过get_instance类方法获取其单例。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把query .on()方法绑定写到分部视图里或者在更新之后重新执行绑定。
更多追问追答
追问
如何重新绑定?直接在分部视图里引用js会出现异常,主视图执行刷新时,分布视图无响应……
追答
重新绑定就是在更新完分部视图后,再调用一次绑定。
分部视图里写js报错,我不知道你是怎么写的,一般的写法是在布局文件里引用js库,然后在分部视图里直接调用js库中的方法。
客户端代码:
<script type="text/javascript">
$(function () {
$('#content').on('click', 'tr.content', this, function (event) {
var row = event.currentTarget;
var cell = row.cells[0];
var text = cell.innerHTML;
alert(text);
});
});
function UpdateContent() {
$.get("/Home/GetTable", function (result) {
$("#content").html(result);
});
}
</script>
<h2>Index</h2>
<input type="button" value="更新" onclick="UpdateContent();" />
<div id="content">
</div>
服务端代码:
public ActionResult GetTable()
{
return PartialView("ViewUserControl1");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询