js 调用后台代码(比较实用,好记)
?
?
方法一:
? ? ? ??1、首先建立一個(gè)按鈕,在后臺(tái)將調(diào)用或處理的內(nèi)容寫入button_click中; ?
? ? ? ? 2、在前臺(tái)寫一個(gè)js函數(shù),內(nèi)容為document.getElementById("btn1").click(); ?
? ? ? ? 3、在前臺(tái)或后臺(tái)調(diào)用js函數(shù),激發(fā)click事件,等于訪問后臺(tái)c#函數(shù);方法二:
? ? ? ? 1、函數(shù)聲明為public ? ? ? ? ? ? ??
? ? ? ? ? ?后臺(tái)代碼(把public改成protected也可以) ?
public string methodname() ? ? ? ? ?//注意該方法不能為void,否則執(zhí)行會(huì)報(bào)錯(cuò) ? ? ? ? ? ?{ ?? ? ? ? ? ? ? //在這之前可以做任何一些服務(wù)端的操作,可以不把返回值作為目的,而是要執(zhí)行一些服務(wù)端的代碼。
? ? ? ? ? ? ? return ?""; ? ? ? ? ? ? ?}? ? ? ? ? ? 2、在html里用<%=fucntion()%>可以調(diào)用 ?? ? ? ? ? ?前臺(tái)腳本 ?
? ? ? ? ? ?<script language=javascript>
? ? ? ? ? ?var a = "<%=methodname()%>"; ?? ? ? ? ? ?alert(a);?
? ? ? ? ? ?eval("<%=methodname()%>"); ? ??//如果只是要執(zhí)行服務(wù)端的一些代碼也可以寫為如下,這樣就可以執(zhí)行服務(wù)端代碼了
? ? ? ? ? ?</script>方法三:利用PageMethods調(diào)用后臺(tái)代碼
PageMethod方法介紹:
PageMethods.FunctionName(Paramter1,Parameter2,...,SuccessMethod, FailedMethod, userContext); 其中,前面Paramter1,Parameter2,...,表示的是FunctionName的參數(shù),類型是Object或Array; SuccessMethod是需要使用后臺(tái)返回結(jié)果的Js方法, FailedMethod是當(dāng)后臺(tái)的csFunctionName方法發(fā)生異常情況下的執(zhí)行的Js方法(容錯(cuò)處理方法), userContext是可以傳遞給SuccessMethod方法,或是FailedMethod方法的任意內(nèi)容。
實(shí)現(xiàn)方法三按照以下步驟:
1.在后臺(tái)創(chuàng)建方法,必須是static(靜態(tài)的),方法必須是public類型的,否則訪問不到會(huì)報(bào)異常,
接著要在該方法頭部上加上[System.Web.Services.WebMethod],來標(biāo)注方法特性。2.在前臺(tái)頁面加入ScriptManager控件,并把其EnablePageMethods屬性設(shè)為true。
3.調(diào)用PageMethods,由于該方法有很多重載,現(xiàn)在只說最簡單的實(shí)現(xiàn)。PageMethods.FunctionName(回調(diào)的js方法); ? ? ?//其中FunctionName為后臺(tái)創(chuàng)建的靜態(tài)方法名,回調(diào)js方法為前臺(tái)接受結(jié)果的方法。
?
PageMethods例子:
?
后臺(tái)代碼:一.無參數(shù)方法
?[System.Web.Services.WebMethod] ? ? public static string ShowValue() ? ? { ? ? ? ? return "js調(diào)用后臺(tái)方法"; ? ? }二.有參數(shù)方法
[System.Web.Services.WebMethod] ? ? public static string ShowValue2(string msg) ? ? { ? ? ? ? return msg;? ? }
?
前端代碼:
?<script type="text/javascript"> ?
? ? ? ?//調(diào)用后臺(tái)無參數(shù)方法
? ? ? ? function bclick() ? ? ? ? { ? ? ? ? ? ? PageMethods.ShowValue(sshow); ? ? ? ? } ? ? ? ?? ? ? ? ? function sshow(val) ? ? ? //回傳方法用val接受后臺(tái)代碼ShowValue的執(zhí)行結(jié)果 ? ? ? ? { ? ? ? ? ? ? document.getElementById("show").innerText = val;? ? ? ? }
? ? ? ? //調(diào)用后臺(tái)有參數(shù)方法
? ? ? ? function bclick2() ? ? ? ? { ? ? ? ? ? ? ?var text = "test"; ? ? ? ? ? ? ?PageMethods.ShowValue2(text,sshow2); ? ? ? ? } ? ? ? ?? ? ? ? ? function sshow2(val) ? ? ? //回傳方法用val接受后臺(tái)代碼ShowValue的執(zhí)行結(jié)果 ? ? ? ? { ? ? ? ? ? ? document.getElementById("show").innerText = val; ? ? ? ? } ?</script> ? < input id="Button1" type="button" value="click" οnclick="bclick();" /> < input id="Button2" type="button" value="click2" οnclick="bclick2();" /> < div id="show"></div>轉(zhuǎn)載于:https://www.cnblogs.com/hcf-0320/p/4704827.html
總結(jié)
以上是生活随笔為你收集整理的js 调用后台代码(比较实用,好记)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ida双开定位android so文件
- 下一篇: 基于EasyDarwin实现幼儿园监控类