【问题标题】:Problem with loading inline javascript in a PartialView在 PartialView 中加载内联 javascript 的问题
【发布时间】:2010-01-14 07:06:30
【问题描述】:

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

提前致谢

/BB

【问题讨论】:

  • javascript 是在输出中呈现但没有运行,还是根本没有写入响应?
  • @Chris- javascript 根本没有被渲染。我认为达​​尔文的回答解释了原因。我要试试他的建议。 /谢谢

标签: jquery asp.net-mvc ajax


【解决方案1】:

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

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

更新:

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

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

【讨论】:

  • @Darvin - 我的要求是在其他一些操作(下拉更改)而不是成功回调时执行这个 javascript。页面加载后还有其他方法可以注册这个javascript吗?
  • @Bumble Bee,在这种情况下,您可以订阅change 事件。查看我的更新。
  • @Darvin - 我的错!我应该试过的。它奏效了。非常感谢!
猜你喜欢
  • 2020-05-07
  • 1970-01-01
  • 1970-01-01
  • 2013-08-06
  • 1970-01-01
  • 2012-10-16
  • 2018-07-13
  • 2018-12-06
  • 2012-02-15
相关资源
最近更新 更多