2011-06-09 155 views
1

我有一个向导,有多个步骤,每一步我都添加了一个用户控件 对于其中一个步骤,我要运行在页面加载jQuery脚本,所以下面是用户控件.ascx文件添加 -

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PropertyEntryWizard10HipEpcQuestions.ascx.cs"   Inherits="PropertyInstructionEntryWizard.PropertyEntryWizard09HipEpcQuestions" %> 
<%@ Register Src="~/Controls/Properties/HipManager.ascx" TagName="hip_manager" TagPrefix="rt" %> 

<script type="text/javascript"> 
      $(document).ready(function() { 
      alert('HipManager ready');    
     }); 
</script> 

<h2>EPC</h2> 

<rt:hip_manager ID="ctlHipMan" runat="server" ValidationGroup="Wizard" /> 

但它不射击页面加载,
而不是当我从浏览器按钮进行手动重新加载,它确实得到运行,我得到警报

注意:我还发现,如果我将脚本从此用户控件移动到主.aspx页面,它就会很好。我的用户控件使用了很多PeterBlum控件,因此我不确定是否有任何与它们相关的脚本导致了这个问题。

任何想法,我失踪了?

谢谢!

+0

在** Chrome **或** Safari **中打开您的页面,启动** Inspector **(右键单击某处并选择检查此元素),然后查看您是否在控制台选项卡中使用javascript阻止代码执行的错误。 – balexandre 2011-06-09 10:01:08

+0

感谢您的回复。我检查了Firebug ... therez没有错误和脚本也加载。在Safari也试过,但同样的问题......我想知道当我手动重新加载页面时他们是如何被解雇的。 – iniki 2011-06-09 10:10:42

+2

我想我们需要看到更多的页面来帮助你......除了引用jQuery之外,还有其他什么东西,例如这个脚本块和jQuery包含在页面流中的位置? – Fenton 2011-06-09 10:22:54

回答

3

您是否尝试过使用pageLoad()函数而不是$(document).ready()?

你使用哪一个真的取决于你长期运行的代码,但看看这里,因为这是一个很好的解释,你应该在不同情况下使用哪一个:

http://encosia.com/document-ready-and-pageload-are-not-the-same/

+0

+1里奇,那篇文章(和一般网站)是一个很好的参考。 – Town 2011-06-09 10:01:08

+0

感谢您的回复,但使用pageLoad()没有做任何差异。 – iniki 2011-06-09 10:08:33