Asp.Net 如何调用js中的函数function ?

来源:互联网 发布:windows hello 编辑:程序博客网 时间:2024/06/02 05:43

http://bbs.csdn.net/topics/330215458

1、直接在前台调用 javascript 函数 


很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript " 
如:

复制代码 代码如下:

<head runat="server"> 
<script type="text/javascript" > 
function ShowName(str) 

alert("您的名字为:("+str+")"); 

</script> 
<title>using javascript</title> 
</head>

之后在body 元素间,通过事件来访问 如 要通过button1 的单击事件(onclientclick)来访问 javascript 函数 
示例如下:

复制代码 代码如下:

<asp:Button ID="Button1" runat="server" Text="Button" onclientclick="ShowName('XXX')" />

这时运行项目,单击 button时,会显示"您的名称为XXX" 
这就是一个简单的javascript 函数. 
2、在前台通过 js文件 调用 

方法与 (1)一样 只不过需要指定 .js 文件 
示例如下:

复制代码 代码如下:

<head runat="server"> 
<script type="text/javascript" src="JScript.js"> 
</script> 
<title>using javascript</title> 
</head>

之后在body 元素间,通过事件来访问 如 要通过button1 的单击事件(onclientclick)来访问 javascript 函数 
示例如下: 
//此时 .js文件中必须有 ShowName 方法 
<asp:Button ID="Button1" runat="server" Text="Button"

3、在后台调用 javascript 函数,函数写在 .js文件中,但并没有在前台定义 


复制代码 代码如下:

//获得.js文件 
string myscript = "JScript.js"; 
//注册.js文件, 如果此时查看源码,会得到如下代码 
//<script> src ="JScript.js" type="text/javascript"><script> 
Page.ClientScript.RegisterClientScriptInclude("myKey", myscript); 
//同上 
Button1.Attributes.Add("onclick", "showname1(123)");  
 

onclientclick="ShowName('XXX')" /> 


4、在后台调用 javascript 函数,函数在.js文件中 
前台的head 元素

复制代码 代码如下:

<head runat="server"> 
<script type="text/javascript" src="JScript.js"> 
</script> 
<title>using javascript</title> 
</head>

后台的需要添加如下代码 
Button1.Attributes.Add("onclick", "showname1(XXX)"); 
5.用ClientScript类动态添加脚本 
用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。 
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>"); 
这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。 
注意,以上所有方法中,后台代码都不能有转化当前页的代码,比如Redirect等,要把转页代码放在脚本里面

6. 用Response.Write方法写入脚本 
比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上 
Response.Write("<script type='text/javascript'>alert();</script>"); 
这 个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定 义,比如Response.Write("<script type='text/javascript'>function myfun(){...}</script>");