【问题标题】:CLOSED - How to invoke a javascript function after a View or PartialView is rendered?CLOSED - 如何在 View 或 PartialView 呈现后调用 javascript 函数?
【发布时间】:2016-09-07 19:58:48
【问题描述】:

我正在使用 MVC 来呈现视图。 该视图有一个 DIV 元素和一个 SCRIPT 元素。 SCRIPT 元素有一个简单的 alert('hello world')。

当视图被渲染时,我希望看到警报弹出窗口。不幸的是,事实并非如此。

在渲染视图后如何调用脚本函数?

View.cshtml:

<div id="hello"></div>
<script type="text/javascript">
    alert('Hello World!');
    $('#hello').html('Hello world.');
</script>

* 更新 * 我深表歉意。我发现了这个问题。问题是在我的脚本部分中,我设置了一个 innerHTML 而不用引号将字符串文本包装起来。我猜这会导致浏览器感到困惑并且只是默默地崩溃。我在查看调试控制台 (F12) 时偶然发现了这一点。

【问题讨论】:

  • 警报函数中是否缺少单引号?
  • @KarthikMR,是的。接得好。这只是一个错字。实际代码在语法上是正确的(intellisense 确认)。 :)
  • 是局部视图还是视图?又是怎么称呼的?

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor model-view-controller


【解决方案1】:

在 $(document).ready(); 中放置以下代码行

    $( document ).ready(function() {
alert('Hello World!');
    $('#hello').html('Hello world.');
});

【讨论】:

  • 最初加载整个文档时不是调用 $(document).ready() 吗?我正在寻找何时呈现视图。或者这仍然是同一件事?值得一试……现在就试试吧。
  • 嗯,这不起作用。请注意,此 sn-p 不在 main/index cshtml 中。它在另一个视图中,当我通过设置 window.location.href 导航到该 URL 时调用它。
【解决方案2】:

试试这个:

$(function()
{
  alert("Hello world!");
  $("#hello").html("Hello world.");
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-12
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多