js 調用后台代碼


 

javascript函數中執行C#代碼中的函數:    
  
  
方法一:1、首先建立一個按鈕,在后台將調用或處理的內容寫入button_click中;    
        2、在前台寫一個js函數,內容為document.getElementById("btn1").click();    
        3、在前台或后台調用js函數,激發click事件,等於訪問后台c#函數;  
  
  
  
 方法二:1、函數聲明為public                 
           后台代碼(把public改成protected也可以)    
         無參數

1   public string methodname()          //注意該方法不能為void,否則執行會報錯  
2            {    
3   
4               //在這之前可以做任何一些服務端的操作,可以不把返回值作為目的,而是要執行一些服務端的代碼。  
5               return  "";    
6            }    

       有參數

       

1 protected string CsharpVoid(string strCC)
2 {
3    strCC = "你好!" + strCC;
4    return strCC;
5 }

 


        2、在html里用<%=fucntion()%>可以調用    
           前台腳本    
          無參數

 <script language=javascript>  
  
             
           var a = "<%=methodname()%>";    
           alert(a);    
  
           //如果只是要執行服務端的一些代碼也可以寫為如下,這樣就可以執行服務端代碼了  
  
           eval("<%=methodname()%>");         
  
           </script>  

有參數

1 function Init()
2 2 {
3 3   var v = "中國";
4 4   var s = '<%=CsharpVoid("'+v+'") %>';
5 5   alert(s);
6 6 }

 


  
  
  
方法三:  
  
利用PageMethods調用后台代碼  
  
  
  
PageMethod方法介紹:  
  
  
  
PageMethods.FunctionName(Paramter1,Parameter2,...,SuccessMethod, FailedMethod, userContext);  
其中,前面Paramter1,Parameter2,...,表示的是FunctionName的參數,類型是Object或Array;  
SuccessMethod是需要使用后台返回結果的Js方法,  
FailedMethod是當后台的csFunctionName方法發生異常情況下的執行的Js方法(容錯處理方法),  
userContext是可以傳遞給SuccessMethod方法,或是FailedMethod方法的任意內容。  
  
  
  
實現方法三按照以下步驟:  
  
  
  
1.在后台創建方法,必須是static(靜態的),方法必須是public類型的,否則訪問不到會報異常,  
  
接着要在該方法頭部上加上[System.Web.Services.WebMethod],來標注方法特性。  
  
2.在前台頁面加入ScriptManager控件,並把其EnablePageMethods屬性設為true。  
  
3.調用PageMethods,由於該方法有很多重載,現在只說最簡單的實現。  
  
PageMethods.FunctionName(回調的js方法);      //其中FunctionName為后台創建的靜態方法名,回調js方法為前台接受結果的方法。  
  
  
  
例子:  
  
后台代碼:  
  
 

[System.Web.Services.WebMethod]  
    public static string ShowValue()  
    {  
        return "js調用后台方法";  
  
    }  

 


  
  
  
前台代碼:  
  
 

 1 <script type="text/javascript">  
 2           
 3         function bclick()  
 4         {  
 5             PageMethods.ShowValue(sshow);  
 6         }  
 7           
 8         function sshow(val)       //回傳方法用val接受后台代碼ShowValue的執行結果  
 9         {  
10             document.getElementById("show").innerText = val;  
11         }  
12           
13          
14     </script>  
15   
16   
17   
18 <input id="Button1" type="button" value="click" onclick="bclick();" />  
19   
20   <div id="show">  
21    </div> 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM