2011-05-08 310 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。