UpdatePanel中用后台调用Javascript
生活随笔
收集整理的這篇文章主要介紹了
UpdatePanel中用后台调用Javascript
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
UpdatePanel中用后臺CS代碼調用JS代碼,先執行控件事件,后觸發JS
頁面中加入了UpdatePanel后,Response.Write("<script>function dis (){alert('這是調用寫在server的JS');}</script>")來調用客戶端腳本,無任何提示的無反應。難道沒有辦法調用客戶端腳本了? 方法是有的,那就是采用 ScriptManager.RegisterStartupScript(Control controlId,Type this.GetType(),String key,String script block)方法。ps:有見到過帖子上說controlId必須是UpdatePanel里的,其實不然,page控件就可以。 下面給出一個具體的實例: ?? protected?void?Page_Load(object?sender,?EventArgs?e){
????????ScriptManager.RegisterStartupScript(BtnJs,?this.GetType(),?"alert",?"<script>function
???????dis?(){alert('這是調用寫在server的JS,如用Response.Write()是不能實現此效果的!!!??????');}</script>",?false);
}
<asp:ScriptManager?ID="ScriptManager1"?runat="server"??EnablePartialRendering="true"?>??????</asp:ScriptManager>
????????<input?id="BtnJs"?type="button"?value="CallServerJs"?onclick="dis()"?runat="server"/>
????????<asp:UpdatePanel?ID="UpdatePanel1"?runat="server"??UpdateMode="Conditional"??RenderMode="Block">
????????????<ContentTemplate>
???????????????<asp:Button?ID="Button1"?runat="server"?Text="Button"?OnClientClick="dis()"/>
????????????</ContentTemplate>?????
?? ? ? ?</asp:UpdatePanel>
注意BtnJs是UpdatePanel外的按鈕? 同時Button1重用了服務端注冊的腳本??? 附帶說一下,如果是在普通的aspx中希望在服務器端注冊下客戶端腳本,可以用
Page.ClientScript.RegisterStartupScript(this.GetType(), String Key,String Js block?,Bool?? AddScriptTag),除了注意粗體字以外,其他操作同上。紫色部分不能包含,如寫了的話,瀏覽時會將腳本部分自動注釋掉!
總結
以上是生活随笔為你收集整理的UpdatePanel中用后台调用Javascript的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java】IntelliJ IDEA
- 下一篇: 【Java】I/O阻塞下的守护线程与程序