通常javascript程式碼可以與HTML標籤一起直接放在前 端頁面中,但如果JS程式碼多的話一方面不利於維護,另一方面也對搜尋引擎不友好,因為頁面因此而變得臃腫。
所以一般有良好開發習慣的程式設計師都會把 javascript程式碼放到獨立的js檔案中,其他頁面透過引入該js檔案來使用對應的 javascript程式碼。
用以下方法引用JS檔:。
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("");
6.用ClientScript類別動態加入腳本
用法如下:在想呼叫某個javascript腳本函數的地方加入程式碼,注意要確保MyFun已經在腳本文件中定義過了。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");
這個方法比Response.Write更方便一些,可以直接呼叫腳本檔案中的自訂函數,不過跟前面幾種相比沒那麼簡潔直觀。
注意,以上所有方法中,後台程式碼都不能有轉換目前頁的程式碼,例如Redirect等,要把轉頁程式碼放在腳本裡面
以上是asp.net怎麼使用js文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!