2012-01-17 33 views
0

我用下面的方式在回發時運行JavaScript,它對我來說工作得很好。在c上回傳一個JavaScript運行#

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (this.IsPostBack) 
    { 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>document.getElementById('apDiv1').style.visibility = 'hidden';</script>"); 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>function show()</script>"); 
    } 
    else 
    { 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"PostbackKey","<script type='text/javascript'>document.getElementById('apDiv1').style.visibility = 'visible';</script>"); 
    } 
} 

上面的代碼工作正常,現在我想嘗試下面的東西。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (this.IsPostBack) 
    { 
     Page.ClientScript.RegisterStartupScript(this.GetType(),"verify","<script type='text/javascript'>verify1();</script>"); 
    } 
    else 
    { 
    } 
} 
在上面的代碼 verify1()

是外部連接到ASPX頁的腳本。我無法使用此代碼執行verify1()函數。和verify1()函數工作正常時,作爲<body onload="verify1();">是否有任何語法錯誤(S)在我上面的代碼?

+0

檢查[從asp.net C#頁面的外部JavaScript文件](http://stackoverflow.com/questions/5816672/external-javascript-file-from-asp-net-c-sharp-page)。 – Bastardo 2012-01-17 16:13:45

回答

1

這可能會幫助你,

Page.ClientScript.RegisterStartupScript(this.GetType(),「驗證「,」verify1()「,true);

0

也許該腳本正在執行verify1()的函數定義之前執行。到body.onload被觸發時,主頁面已經完成解析並且所有的外部腳本已經被加載,這就是它在這種情況下的原因。

你可以使用jQuery嗎?一種選擇是使用jQuery的onload功能,這將不會被執行,直到一切都intialized:

$(function() { ...my startup code... }); 
+0

有沒有其他方法? – 2012-01-17 16:39:22