欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET调用javascript脚本的常见方法小结

程序员文章站 2024-03-09 09:34:11
1、直接在前台调用 javascript 函数 很简单,在 head 元素之间加入 script 元素,将 type 元素设置为 " text/javascript " 如...
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" onclientclick="showname('xxx')" />

3、在后台调用 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)");

4、在后台调用 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)");


5. 用response.write方法写入脚本

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

6.用clientscript类动态添加脚本

用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证myfun已经在脚本文件中定义过了。
clientscript.registerstartupscript(clientscript.gettype(), "myscript", "<script>myfun();</script>");
这个方法比response.write更方便一些,可以直接调用脚本文件中的自定义函数。
注意,以上所有方法中,后台代码都不能有转化当前页的代码,比如redirect等,要把转页代码放在脚本里面