在vb代码加载函数中调用javascript

时间:2011-05-08 07:16:59

标签: javascript asp.net vb.net

我正在尝试从page_load函数代码中调用Java脚本代码,但我不知道如何!!

我已将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

2 个答案:

答案 0 :(得分: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的情况下,通过向GradesH3添加GradesUL来使runat="server"If Session("UsrRole") = "Rector" Then GradesH3.Visible = False GradesUL.Visible = False End If 成为服务器端然后拥有这样的代码改为:

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

您可以将任何HTML元素变为服务器端,例如:

{{1}}

答案 1 :(得分:0)

有几种方法可以达到你想要的效果。

一种是简单地从Page_Load输出javascript - 直接或Literal控件。

另一种方法是将javascript语句放入函数中,并在页面加载输出中再调用一个调用该函数的脚本标记。

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