2011-06-09 150 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