C#后臺調用前臺javascript的五種方法小結
更新時間:2010年12月30日 17:04:05 作者:
于項目需要,用到其他項目組用VC開發(fā)的組件,在web后臺代碼無法訪問這個組件,所以只好通過后臺調用前臺的javascript,從而操作這個組件。
在網(wǎng)上找了找,發(fā)現(xiàn)有三種方法可以訪問到前臺代碼:
第一種,OnClientClick (vs2003不支持這個方法)
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="client_click()" OnClick="Button1_Click" />
client_click() 就是javascript的一個方法。
第二種,Button1.Attributes.Add("onclick", "return Client_Click()");
“Client_Click() “是一個前臺方法,可以替換成一般的腳本如:retrun confirm('確定刪除嗎?')
第三種,是我自認為最靈活的一種,ClientScript.RegisterStartupScript
例子:StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("Button2_onclick('" + serverPath + "')");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript", sb.ToString());
第四種. 用Response.Write方法寫入腳本
比如在你單擊按鈕后,先操作數(shù)據(jù)庫,完了后顯示已經(jīng)完成,可以在最后想調用的地方寫上
Response.Write("<script type='text/javascript'>alert();</script>");
這個方法有個缺陷就是不能調用腳本文件中的自定義的函數(shù),只能調用內部函數(shù),具體調用自定義的函數(shù)只能在Response.Write寫上函數(shù)定義,比如Response.Write("<script type='text/javascript'>function myfun(){...}</script>");
第五種 用ClientScript類動態(tài)添加腳本
用法如下:在想調用某個javascript腳本函數(shù)的地方添加代碼,注意要保證MyFun已經(jīng)在腳本文件中定義過了。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");
這個方法比Response.Write更方便一些,可以直接調用腳本文件中的自定義函數(shù)。
可以在程序的任何地方執(zhí)行,o(∩_∩)o...,是不是很好用呢
注意執(zhí)行順序:先執(zhí)行Client ,再執(zhí)行Server
第一種,OnClientClick (vs2003不支持這個方法)
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="client_click()" OnClick="Button1_Click" />
client_click() 就是javascript的一個方法。
第二種,Button1.Attributes.Add("onclick", "return Client_Click()");
“Client_Click() “是一個前臺方法,可以替換成一般的腳本如:retrun confirm('確定刪除嗎?')
第三種,是我自認為最靈活的一種,ClientScript.RegisterStartupScript
例子:StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("Button2_onclick('" + serverPath + "')");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript", sb.ToString());
第四種. 用Response.Write方法寫入腳本
比如在你單擊按鈕后,先操作數(shù)據(jù)庫,完了后顯示已經(jīng)完成,可以在最后想調用的地方寫上
Response.Write("<script type='text/javascript'>alert();</script>");
這個方法有個缺陷就是不能調用腳本文件中的自定義的函數(shù),只能調用內部函數(shù),具體調用自定義的函數(shù)只能在Response.Write寫上函數(shù)定義,比如Response.Write("<script type='text/javascript'>function myfun(){...}</script>");
第五種 用ClientScript類動態(tài)添加腳本
用法如下:在想調用某個javascript腳本函數(shù)的地方添加代碼,注意要保證MyFun已經(jīng)在腳本文件中定義過了。
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");
這個方法比Response.Write更方便一些,可以直接調用腳本文件中的自定義函數(shù)。
可以在程序的任何地方執(zhí)行,o(∩_∩)o...,是不是很好用呢
注意執(zhí)行順序:先執(zhí)行Client ,再執(zhí)行Server
相關文章
TreeView無刷新獲取text及value實現(xiàn)代碼
這篇文章介紹了TreeView無刷新獲取text及value實現(xiàn)代碼,有需要的朋友可以參考一下2013-10-10ASP.NET導出數(shù)據(jù)到Excel的實現(xiàn)方法
在做asp.net程序時涉及到數(shù)據(jù)顯示的時候多數(shù)會要求打印,而網(wǎng)頁上的打印格式往往又不能滿足需求,經(jīng)常用的方法就是導入到Excel以后再進行打印。(仿佛這已經(jīng)是老生常談)今天在網(wǎng)上搜了一段打印的代碼,覺得不錯,需要打印的朋友可以看看。2013-07-07ASP.NET從客戶端中檢測到有潛在危險的request.form值的3種解決方法
這篇文章主要介紹了ASP.NET從客戶端中檢測到有潛在危險的request.form值的3種解決方法,這是ASP.NET開發(fā)中一個比較常見的經(jīng)典的問題,需要的朋友可以參考下2015-01-01Asp.net的GridView控件實現(xiàn)單元格可編輯方便用戶使用
考慮到用戶使用方便,減少彈出頁面,采用點“編輯”按鈕無需彈出頁面直接當前行的單元格內容就能編輯,思路及代碼如下,有此需求的朋友可以參考下,希望對大家有所幫助2013-08-08擁有網(wǎng)頁版小U盤 ASP.NET實現(xiàn)文件上傳與下載功能
這篇文章主要為大家詳細介紹了ASP.NET實現(xiàn)文件上傳與下載功能,類似于U盤功能,具有一定的參考價值。感興趣的小伙伴們可以參考一下2016-08-08js獲取.aspx頁面里面的服務器控件和.ascx中的服務器控件值
用js獲取.ascx控件中服務器控件值時首先要得到服務器控件的ClientID再加上.ascx頁面里面的服務器空間ID并用"_"連接2009-02-02詳解一款開源免費的.NET文檔操作組件DocX(.NET組件介紹之一)
本篇文章主要是介紹了一款開源免費的.NET文檔操作組件DocX,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2016-12-12刪除DataTable重復列,只刪除其中的一列重復行的解決方法
刪除DataTable重復列,只刪除其中的一列重復行,下面的方法就可以,也許有更好的方法,希望大家多多指教2013-02-02