ASP.NET MVC 主视图引用的js(jquery)在分部视图中无效,如何解决?

通过ajax更新页面容器中的分部视图,更新区域是个table,行tr有个鼠标事件,用jquery.on()方法绑定更新后的行没有绑定事件,就不触发了... 通过ajax更新页面容器中的分部视图,更新区域是个table,行tr有个鼠标事件,用jquery .on()方法绑定
更新后的行没有绑定事件 ,就不触发了
展开
 我来答
黑洞之谜
2013-07-30 · TA获得超过145个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:131万
展开全部
使用ajax做区域更新,在更新之前要将绑定的事件移除,在更新完DOM之后要重新绑更新区域内的事件。

在PageRequestManager的pageLoading和pageLoaded事件来处理就好。
更多追问追答
追问
谢谢,但是MVC下没有PageRequestManager的吧。。。
追答
在js文件里面,通过资源引入的。

你看看工程里面的几个js文件,其中能找到PageRequestManager,可以通过get_instance类方法获取其单例。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mydocument2020
2013-07-30 · TA获得超过202个赞
知道小有建树答主
回答量:187
采纳率:100%
帮助的人:139万
展开全部
把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");
}


本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式