2011-05-08 67 views
-1

我想從page_load函數代碼中調用Java腳本代碼,但我不知道該怎麼做!在vb代碼加載函數中調用javascript

我加js文件,以解決 並把頁面

<script type="text/javascript" src="js/hide.js"> 
// to hide 
getElementById("GradesH3").style.display="none"; 
getElementById("GradesUL").style.display="none"; 
</script> 

現在,我想打電話給它的代碼是:

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    If Session("UsrRole") = "Rector" Then 

    End If 

回答

0

你需要的是:

If Session("UsrRole") = "Rector" Then 
    Page.ClientScript.RegisterClientScriptInclude("hide", "js/hide.js") 
End If 

刪除您現有的JS代碼並更改文件「hide.js」以包含此代碼廣告:

window.onload = function() { 
    getElementById("GradesH3").style.display = "none"; 
    getElementById("GradesUL").style.display = "none"; 
}; 

編輯:關於第二個想法,更正確的方式做到這一點,而不使用JS的話,那使GradesH3GradesUL是服務器端通過增加runat="server"他們再有這樣的代碼來代替:

If Session("UsrRole") = "Rector" Then 
    GradesH3.Visible = False 
    GradesUL.Visible = False 
End If 

你可以成爲服務器端的任何HTML元素,例如:

<h3 id="GradesH3" runat="server">I'm header</h3> 
+0

非常感謝你的大力幫助 – Amanda 2011-05-08 10:04:12

+0

乾杯,希望你用第二種方式結束了? (沒有JS) – 2011-05-08 10:54:25

0

有幾種方法可以實現你想要的。

一種是簡單地輸出來自Page_Load的javascript - 直接或輸入到Literal控件中。

另一種是將javascript語句放入一個函數中,並在頁面加載時輸出一個腳本標記調用該函數。

可能是使用服務器端控件並直接控制其可見性的最佳方法,而不是使用javascript。