如何从代码隐藏调用javascript函数

zan*_*tet 53 javascript asp.net

我用asp.net页面写了一个javascript.

在Asp.net页面

<HTML> <HEAD>
     <script type="text/javascript">
      function Myfunction(){
          document.getElementId('MyText').value="hi";
      }
      </script>
</HEAD> <BODY>
<input type="text" id="MyText" runat="server" /> </BODY>
Run Code Online (Sandbox Code Playgroud)

在代码隐藏中

 Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
  Handles Me.Load
       If Session("My")= "Hi" Then
          I want to call "Myfunction" javascript function
       End If 
 End Sub
Run Code Online (Sandbox Code Playgroud)

我能怎么做?

Jac*_*cob 74

一种方法是使用ClientScriptManager:

Page.ClientScript.RegisterStartupScript(
    GetType(), 
    "MyKey", 
    "Myfunction();", 
    true);
Run Code Online (Sandbox Code Playgroud)

  • 密钥只是一个唯一的标识符,有助于避免两次发出相同的脚本.它可以是任何东西. (4认同)
  • 看起来最好的方式是你的,但“MyKey”是什么? (2认同)
  • 密钥应该是 GUID! (2认同)

Dee*_*ari 40

这是一种从后面的代码调用一个或多个java脚本方法的方法.通过使用脚本管理器,我们可以按顺序调用方法.考虑下面的loc foe示例.

ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", 
   "$(document).ready(function(){EnableControls();
   alert('Overrides successfully Updated.');DisableControls();});", true);
Run Code Online (Sandbox Code Playgroud)

在第一个方法中,调用EnableControls().接下来将显示警报.接下来将调用DisableControls()方法.


小智 13

有一种非常简单的方法可以做到这一点.它涉及从后面的代码向标签控件注入javascript代码.这是示例代码:

<head runat="server"> 
    <title>Calling javascript function from code behind example</title> 
        <script type="text/javascript"> 
            function showDialogue() { 
                alert("this dialogue has been invoked through codebehind."); 
            } 
        </script> 
</head>
Run Code Online (Sandbox Code Playgroud)

..........

lblJavaScript.Text = "<script type='text/javascript'>showDialogue();</script>";
Run Code Online (Sandbox Code Playgroud)

查看完整代码:http://softmate-technologies.com/javascript-from-CodeBehind.htm(dead)
来自Internet Archive的链接:https://web.archive.org/web/20120608053720/http: // softmate-technologies.com/javascript-from-CodeBehind.htm

  • 不幸的是链接坏了:-( (2认同)