在部分视图中加载内联JavaScript的问题

时间:2010-01-14 07:06:31

标签: jquery asp.net-mvc ajax

这个问题与我的previous question有关,它询问是否使用jquery / ajax异步将页面加载到DIV中。它已经解决,它的功能就像魅力:)。现在问题是在异步加载到DIV的View中,我有一个局部视图。部分视图实习生包含一些JavaScript。当我使用ajax / jquery组合加载页面时,它不会加载PartialView的javascript部分(即ascx)。但是如果我通过输入网址直接加载页面,它会正确显示javascript!有人知道这种行为的解释吗?

提前致谢

/ BB

1 个答案:

答案 0 :(得分:3)

Javascript不是从ajax调用加载的内容中执行的。为了完成这项工作,您需要将需要执行的javascript外部化为一个单独的函数,您将在成功回调中调用该函数。

$('#searchResults').load('/admin/users', {}, function() {
    someFunctionThatNeedsToBeExecuted();
});

更新:

要在下拉列表更改时执行该功能,您可以执行以下操作:

$('#searchResults').load('/admin/users', {}, function() {
    $('#someDropDownInsertedByThePartialView').change(function() {
        someFunctionThatNeedsToBeExecuted();
    });
});