2010-06-21 81 views
1

我有Javascript。我只想在頁面加載時打電話。我不想在回發調用。(Asp.net 3,5)加載頁面時請調用Javascript

+0

對不起,我忘了告訴,在MasterPage中的JavaScript。所以jscript在每個頁面加載時都被觸發。 – Jack 2010-06-21 13:16:12

+0

我無法解決這個問題。內容頁面加載時Jscript正在運行。我不想這樣做。我只想調用Jscript只有一(1)次.. – Jack 2010-06-21 13:26:24

回答

6

在後面的代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     ClientScript.RegisterStartupScript(GetType(), "key", "someFunction();", true); 
    } 
} 
+0

謝謝,但它沒有解決我的問題。 – Jack 2010-06-21 13:27:59

+0

如果您希望腳本只運行一次,您可以使用'Session'屬性來指示腳本是否已運行,並且基於其值包含腳本還是不包含腳本。 – 2010-06-21 13:33:02

+0

好的。我認爲在初始化母版生命週期時不可能運行一次。 – Jack 2010-06-21 13:42:22

-1
<html> 
<head> 

</head> 
<body onload="javascript:yourFunctionCall()"> 

</body> 
</html> 
+2

內部添加該腳本,該腳本仍將在回發時運行 – 2010-06-21 13:06:36

+1

這將在回發中調用。 – 2010-06-21 13:06:53

+0

@Darin和@Joel你是對的.. – Jack 2010-06-21 13:17:23

0

更好事情是在加載標籤時調用你的Java腳本函數。在這裏,java腳本只會調用一次,而不是在所有的帖子後面。

0

您還可以連接到負載事件,以避免意外覆蓋與在JavaScript document.onload身體標記在onload。這通常只是一個問題,即擁有內容頁面的母版頁實現了自己的加載事件並且覆蓋了母版頁JavaScript。

<script type="text/javascript"> 
    function Page_loaded() { 
     //Do Work 
    } 

    if (document.all) { 
     //IE 
     window.attachEvent('onload', Page_loaded); 
    } else { 
     //Everything else 
     window.addEventListener('load', Page_loaded, false); 
    } 
</script> 
相關問題