很多人都向在服務器端調用客戶端的函數來操作,也就是在asp中調用javascript腳本中已經定義好的腳本函數。經過研究,發現了一些勉強的方法。
1. 用Response.Write方法寫入腳本
比如在你單擊按鈕後,先操作數據庫,完了後顯示已經完成,可以在最後想調用的地方寫上
Response.Write("<script type='text/javascript'>alert();</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的初始化過程中添加纔有效。而且是先執行腳本函數,無法改變執行順序。
注意,以上所有方法中,後臺代碼都不能有轉化當前頁的代碼,比如Redirect等,要把轉頁代碼放在腳本里面