所以一般有良好开发习惯的程序员都会把 javascript代码放到独立的js文件中,其他页面通过引入该js文件来使用相应的 javascript代码。
用如下方法引用JS文件:<script src=script/admin.js type=text/javascript></script>。
ASP.NET本身就提供了多种调用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 函数的ShwoName()的示例如下:
<asp:Button ID=Button1 runat=server Text=Button onclientclick=ShowName('伍') />
这时运行项目,单击 button时,会显示十万个为什么 ,的站长是:伍这就是在前端页面直接定义及调用javascript函数.
2、在前台通过引入js文件来调用相应的函数:
方法与(1)一样,只不过需要指定要调用的js 文件
示例如下:
<head runat=server> <script type=text/javascript src=kenscript.js> </script> <title>using javascript</title> </head>
之后在body 元素间,通过事件来访问, 比如要通过button1 的单击事件(onclientclick)来访问 javascript 函数的示例如下:
//此时 .js文件中必须有 ShowName 方法 <asp:Button ID=Button1 runat=server Text=Button onclientclick=ShowName('伍') />
3、在后台调用 javascript 函数,函数在.js文件中前台的head元素
<head runat=server> <script type=text/javascript src=kenscript.js> </script> <title>using javascript</title> </head> //后台的需要添加如下代码 Button1.Attributes.Add(onclick, showname1(‘伍’));
4、在后台调用 javascript 函数,函数写在对应的js文件中,但并没有在前台定义,示例如下:
//获得.js文件 string myscript = kenscript.js; //注册.js文件 Page.ClientScript.RegisterClientscriptinclude(myKey, myscript); 如果此时查看源码,会得到如下代码 //<script src =kenscript.js type=text/javascript><script> //同上 Button1.Attributes.Add(onclick, showname1('伍'));
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更方便一些,可以直接调用脚本文件中的自定义函数,不过跟前面几种相比没那么简洁直观。