【问题标题】:call javascript within vb code load function在 vb 代码加载函数中调用 javascript
【发布时间】:2011-08-21 00:49:23
【问题描述】:

我正在尝试从 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

【问题讨论】:

    标签: javascript asp.net vb.net


    【解决方案1】:

    你需要的是:

    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,它通过将 runat="server" 添加到它们来使 GradesH3GradesUL 成为服务器端,然后使用这样的代码:

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

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

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

    【讨论】:

    • 干杯,希望你最终使用第二种方式? (无 JS)
    【解决方案2】:

    有几种方法可以实现你想要的。

    一种方法是简单地从您的Page_Load 输出 javascript - 直接或输出到 Literal 控件中。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      • 2012-11-06
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多