javascript中的页面加载脚本运行多次

javascript中的页面加载脚本运行多次,javascript,asp.net-mvc-3,razor,Javascript,Asp.net Mvc 3,Razor,我有一个Index.cshtml文件。因为我有两个div元素。我在一个div中渲染了部分视图,如下所示: <div id="div1"> @Html.Partial("_FutureAddEditClaim", Model.NewClaim) </div> <div id="div2"></div> 当应用程序运行时,警报消息将显示两次。有谁能告诉我为什么这会发生在\u futureaddeditsclaim.cshtml 我在Index

我有一个
Index.cshtml
文件。因为我有两个
div
元素。我在一个div中渲染了部分视图,如下所示:

<div id="div1">
    @Html.Partial("_FutureAddEditClaim", Model.NewClaim)
</div>
<div id="div2"></div>
当应用程序运行时,警报消息将显示两次。有谁能告诉我为什么这会发生在
\u futureaddeditsclaim.cshtml


我在Index.cshtml中有页面加载函数。这很好。

您说过您在一个
div
元素中“追加了
div1
”。这似乎是JavaScript将触发两次的原因,因为您有两次加载元素——一次最初加载,然后在追加它之后再次加载。

您说您在一个
div
元素中“追加了
div1
”。这似乎是JavaScript将触发两次的原因,因为您有两次加载元素——一次最初加载,然后在附加它之后再次加载。

这并不表示页面加载上的事件。这将在文档准备就绪时运行,您可以在文档准备就绪时运行许多块

$(function() {
    // Runs when the document is ready
    alert("called");
});
您需要扫描源文件以查看是否

  • 源文件中有两个类似的代码块,在文档准备就绪时运行
  • 源文件中的某个地方有另一个
    警报(“调用”)
  • 例如,如果通过AJAX加载局部视图,则每次加载时都可能发生这种情况

  • 这并不表示页面加载上的事件。这将在文档准备就绪时运行,您可以在文档准备就绪时运行许多块

    $(function() {
        // Runs when the document is ready
        alert("called");
    });
    
    您需要扫描源文件以查看是否

  • 源文件中有两个类似的代码块,在文档准备就绪时运行
  • 源文件中的某个地方有另一个
    警报(“调用”)
  • 例如,如果通过AJAX加载局部视图,则每次加载时都可能发生这种情况

  • 您只需要知道最终输出:它是否包含一个或两个警报?(在浏览器中查看页面的源代码)现在您知道问题是出在服务器端代码还是客户端代码上了。我已经看到源代码,它在页面加载中只包含一条警报消息。您只需要知道最终输出:它包含一条或两条警报吗?(在浏览器中查看页面的源代码)现在您知道问题是出在服务器端代码还是客户端代码上了。我已经看到源代码,它在页面加载中只包含一条警告消息。谢谢。。但是我需要附加元素。。。我怎样才能解决这个问题。。如何才能只加载一个页面..在我的脑海中(这可能不是最好的选择),您可以尝试在第一次触发页面加载事件时设置一个变量(称为isLoaded)。然后检查代码,查看是否已设置isLoaded,以便代码不会触发两次。谢谢。。但是我需要附加元素。。。我怎样才能解决这个问题。。如何才能只加载一个页面..在我的脑海中(这可能不是最好的选择),您可以尝试在第一次触发页面加载事件时设置一个变量(称为isLoaded)。然后检查代码,看看是否已经设置了isLoaded,这样代码就不会触发两次。谢谢。。。但是我没有两个警报,也没有类似的代码,我也没有通过Ajax加载部分视图。谢谢。。。但是我没有两个警报,也没有类似的代码,我也没有通过Ajax加载部分视图。。