2 sunqiyu123 sunqiyu123 于 2015.07.04 16:14 提问

请问asp.net后台怎么调用前台写好的JavaScript函数

前台

    <script type="text/javascript">
        $(".btn").click(function(){
            is_hide();
        })
        function is_hide(){ $(".alert").animate({"top":"-40%"}, 300) }
        function is_show(){ $(".alert").show().animate({"top":"45%"}, 300) }
        </script>

后台

 protected void submit_Click(object sender, EventArgs e)
        {
            string username = this.username.Value;
            string password = this.password.Value;
            if ((username == "123")&&(password == "123"))
            {
                //怎么调用is_show()?????
            }
        }

5个回答

yukon12345
yukon12345   2015.07.04 16:58

后台调用不了前台的。。只有前台调用后台,后台处理后,返回给前台。另外贴代码记得点编辑器的</>图标

danielinbiti
danielinbiti   Ds   Rxr 2015.07.04 17:09
 C#后台调用前台js代码
前台js
<script type="text/javascript" language="javascript">
  function Ceshi()
  {
    var a = "你们好啊!"
    alert(a);
  }
</script>
<asp:Button ID="Button1" runat="server" Text="后台调用js" onclick="Button1_Click" />
后台代码
protected void Button1_Click(object sender, EventArgs e)
    {
    //如果有UpdatePanel就用如下代码调用前台js
    ScriptManager.RegisterStartupScript(UpdatePanel1, this.Page.GetType(), "", "Ceshi();", true);
    //如果没有就如下代码
    this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script>Ceshi();</script>", true);
    }


sunqiyu123
sunqiyu123 试过了,没有用啊
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.04 17:17
 1. 用Response.Write方法

  代码如下:

  Response.Write("<script type='text/javascript'>alert("XXX");</script>");
  此方法缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如

  Response.Write("<script type='text/javascript'>function myfun(){}</script>");



2.用ClientScript类

  代码如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");

  这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。




3.普通的添加控件的Attributes属性

  对于普通按钮就是:Button1.Attributes.Add("onclick","MyFun();");

  只能在Onload中或类似于onload的初始化过程中添加才有效。而且是先执行脚本函数,无法改变执行顺序。

http://www.cnblogs.com/MyFavorite/archive/2010/04/13/1710934.html

caozhy
caozhy 回复sunqiyu123: 如果你是在pageload里调用,要先写入这个函数。
2 年多之前 回复
sunqiyu123
sunqiyu123 回复caozhy: 不明白js的执行顺序,function is_show()我放在了<head>里了
2 年多之前 回复
caozhy
caozhy 回复sunqiyu123: 你要稍微变通。is_show在哪里包含的?要把它定义在你调用的前面。
2 年多之前 回复
sunqiyu123
sunqiyu123 三种方法都不行,会提示JavaScript 运行时错误: “is_show”未定义
2 年多之前 回复
OuErHuiLaiKanKan
OuErHuiLaiKanKan   2015.07.04 18:17
u012655636
u012655636   2015.07.04 21:35

后台一般不建议调用js

Csdn user default icon
上传中...
上传图片
插入图片