国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net中javascript與后臺c#交互

2024-07-10 12:47:42
字體:
來源:轉載
供稿:網友

最近做一個小項目,網頁中嵌入google maps,輸入經緯度坐標可以定位地圖位置并加注標記,點擊標記獲取遠端攝像頭數據并在視頻窗口實現播放。在實際操作過程中,由于經緯度數據和視頻登錄的用戶名密碼數據均要從后臺數據庫中提取,而第三版的google maps api又是在javascript中實現的,因此不可避免的需要前端腳本與后臺進行交互。由于是在asp.net中實現,故問題演化成asp.net中javascript與后臺c#如何進行交互。

C#代碼與javaScript函數的相互調用主要有四個方面:

1.如何在JavaScript訪問C#函數?

2.如何在JavaScript訪問C#變量?

3.如何在C#中訪問JavaScript的已有變量?

4.如何在C#中訪問JavaScript函數?

一、javaScript函數中執行C#代碼中的函數:
方法一:頁面和頁面類結合
1、函數聲明為public            

      后臺代碼(把public改成protected也可以)

 public string ss()    {    return("a");    }

2、在html里用<%=ss()%>可以調用//是C#中后臺的函數名稱

      前臺腳本

 <script language=javascript>    var a = "<%=ss()%>";//JavaScript中調用C#后臺的函數    alert(a);    </script> 

方法二: JavaScript異步調用定義在ASP.Net頁面中的方法   
              1.將該方法聲明為公有(public);   
              2.將該方法聲明為類方法(C#中的static,VB.NET中的Shared),而不是實例方法;   
              3.將該方法添加【WebMethod】屬性  
              4.將頁面中ScriptManager控件的EnablePageMethods屬性設置為true;   
              5.在客戶端使用如下JavaScript語法調用該頁面方法   
                PageMethods.[MethodName](param1,param2,...,callbackFunction);   
               6.為客戶端異步調用指定回調函數,在回調函數中接受返回值并進一步處理;  
               7.添加 using System.Web.Services; 

示例:

前臺JavaScript代碼

<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>無標題頁</title> <script type="text/javascript"> function JsCallCSharp(param1) {     PageMethods.sayhell(param1,onSayHelloSucceeded);//sayhell是后臺標注了【webMethod】屬性的方法 param1是傳入該方法的參數,onSayHelloSucceeded是回調函數主要是對后臺返回的結果進一步處理 }   function onSayHelloSucceeded(result)//綁定的回調函數  {  alert(result); }  </script></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">//ScriptManager控件管理腳本的,注意設置EnablePageMethods="true"此屬性 </asp:ScriptManager> <div>  <input type="button" onclick="JsCallCSharp('hello')" /> </div> </form></body></html>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜阳县| 界首市| 体育| 贵南县| 新丰县| 黔江区| 延吉市| 尉氏县| 横峰县| 阳东县| 米易县| 镇远县| 封开县| 瑞昌市| 嘉祥县| 蕉岭县| 施秉县| 池州市| 公安县| 峨山| 新泰市| 黄平县| 如东县| 长沙市| 阆中市| 黄骅市| 莎车县| 镇平县| 石柱| 灌云县| 井陉县| 临西县| 乳源| 尉犁县| 望谟县| 盱眙县| 陇川县| 惠安县| 建水县| 崇文区| 宁安市|