日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net后台调用javascript的方法

發(fā)布時間:2025/3/14 asp.net 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net后台调用javascript的方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 用Response.Write方法

  代碼如下:

  Response.Write("<script type='text/javascript'>alert("XXX");</script>");
  此方法缺陷就是不能調用腳本文件中的自定義的函數(shù),只能調用內部函數(shù),具體調用自定義的函數(shù)只能在Response.Write寫上函數(shù)定 義,比如

  Response.Write("<script type='text/javascript'>function myfun(){}</script>");

3.普通的添加控件的Attributes屬性

  對于普通按鈕就是:Button1.Attributes.Add("onclick","MyFun();");

  只能在Onload中或類似于onload的初始化過程中添加才有效。而且是先執(zhí)行腳本函數(shù),無法改變執(zhí)行順序。

2.用ClientScript類

  代碼如下:在想調用某個javascript腳本函數(shù)的地方添加代碼,注意要保證MyFun已經在腳本文件中定義過了。

  ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>MyFun();</script>");

  這個方法比Response.Write更方便一些,可以直接調用腳本文件中的自定義函數(shù)。

?

ClientScript.RegisterStartupScript方法有3個重載:

1:RegisterStartupScript(Page, String, String) 向 ScriptManager 控件注冊一個啟動腳本塊并將該腳本塊添加到頁面中。需要向第三個參數(shù)添加<script></script>腳本標簽。第一個參數(shù)為頁面Page。第二個腳本函數(shù)的名字,隨便起。第三個是<script></script>形式的腳本內容。

2:RegisterStartupScript(Control, Type, String, String, Boolean) 使用 ScriptManager 控件為 UpdatePanel 中的某個控件注冊一個啟動腳本塊,并將該腳本塊添加到頁面中。第一個參數(shù)為要注冊腳本的控件ID,試了一下,只要是本頁面的就行。第二個參數(shù)為注冊腳本控件類型,是控件還是this的GetType()都可以,typeOf(string)也沒問題.第三個腳本函數(shù)的名字,隨便起。第四個是腳本內容。第五個是標明是否再添加腳本標簽,如果第四個參數(shù)里包含了<script></script>標簽,此處則為false,否則為true。

3:RegisterStartupScript(Page, Type, String, String, Boolean) 為每個異步回發(fā)向 ScriptManager 控件注冊一個啟動腳本塊,并將該腳本塊添加到頁面中。頁面如果有用到Ajax需要用到這種。第一個參數(shù)為頁面Page。第二個參數(shù)為注冊腳本控件類型,是控件還是this的GetType()都可以,typeOf(string)也沒問題.第三個腳本函數(shù)的名字,隨便起。第四個是腳本內容。第五個是標明是否再添加腳本標簽,如果第四個參數(shù)里包含了<script></script>標簽,此處則為false,否則為true。

如果頁面中不用Ajax,cs中運行某段js代碼方式可以是:
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>window.open('default2.aspx')</script>");
如果頁面中使用了Ajax ,則上述代碼即使執(zhí)行也無效果。對這種情況我們通常采用:
ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "alertScript", "window.open('default2.aspx');", true);
其中第一個參數(shù)為要注冊腳本的控件ID,試了一下,只要是本頁面的就行。
第二個參數(shù)為注冊腳本控件類型,是控件還是this的GetType()都可以,typeOf(string)也沒問題.
第三個腳本函數(shù)的名字,隨便起。
第四個是腳本內容。
第五個是標明是否再添加腳本標簽,如果第四個參數(shù)里包含了<script></script>標簽,此處則為false,否則為true。

如果注冊的兩個腳本函數(shù)的名稱相同,則第二個腳本函數(shù)就不會執(zhí)行。因為腳本管理器使用此字符串來分析是否是一個已經加載過的腳本,如果加載過,將不會再次渲染。所以第二個就不會加載執(zhí)行了。

?

轉載于:https://www.cnblogs.com/renfeng/p/4112705.html

總結

以上是生活随笔為你收集整理的asp.net后台调用javascript的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。