<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Ajax與Wcf交互-JSON

      在WCF的序列化中有DataContractJsonSerializer的格式化器,這就使得WCF相比傳統的Xml Web Serice多了一種輸入輸出的編碼格式:JSON.本文將介紹如何使用JSON實現Ajax與WCF之間的數據交互.

      JSON的全稱是JavaScript Object Notation,是專門用于適應AjaxRestful而出現的取代xml的編碼格式.相比xml而言,它更適合javascript,

      第一步: VS2008中創建一個.Net framework 3.5的網站項目,命名為AjaxWcfJson,不用多說,不會創建的可以參考上一篇文章AjaxWCF交互-WCF之美,

      第二步: 在網站項目中添加一個啟用了AjaxWCF服務: WcfJsonService.svc,將其中代碼更改為如下:

      [DataContract] 

      public class Person 



      [DataMember] 

      public string Name getset; } 

      [DataMember] 

      public string Address getset;} 

      }
       

      [ServiceContract(Namespace 
      = "")] 

      [AspNetCompatibilityRequirements(RequirementsMode 
      = AspNetCompatibilityRequirementsMode.Allowed)] 

      public class WcfJsonService 



      static List<Person> list = new List<Person>(); 

       

      // 添加 [WebGet] 屬性以使用 HTTP GET 

      [OperationContract] 

      [WebInvoke(RequestFormat 
      = WebMessageFormat.Json)] 

      public bool CreatePerson(Person p) 



      // 在此處添加操作實現 

      foreach (Person person in list) 



      if (p.Name ==person.Name) 



      return false

      }
       

      }
       

      list.Add(p); 

      Trace.WriteLine(
      "-----------------------------------------"); 

      foreach (Person person in list) 



      Trace.WriteLine(
      "Name:" + person.Name + ",Address:" + person.Address); 

      }
       

      Trace.WriteLine(
      "-----------------------------------------"); 

      return true

      }
       

       

      [OperationContract] 

      [WebInvoke(ResponseFormat
      =WebMessageFormat.Json)] 

      public Person GetPerson(string name) 



      foreach(Person p in list) 



      if(p.Name == name) 



      return p; 

      }
       

      }
       

      return new Person(); 

      }
       

      // 在此處添加更多操作并使用 [OperationContract] 標記它們 

      }
       

      其中的Person是一個數據契約,WcfJsonService是服務契約,關注一下WcfJsonService中的兩個服務操作,他們的方法內容無從緊要,關鍵是在聲明中的WebInvoke

      第三步: Default.aspx中添加ScriptManager,并設定<asp:ScriptReference Path="~/WcfJsonService.svc/js" />,使其能夠訪問WCF服務,然后在頁面中增加如下的頁面元素:

      <div> 

      <h2> 

      ajax調用wcf示例2-json
      </h2> 

      <p> 

      名字:
      <input id="txtName" type="text" /> 

      </p> 

      <p> 

      地址:
      <input id="txtAddress" type="text" /> 

      </p> 

      <p> 

      <input id="Button1" type="button" value="提交" onclick="createPerson()" /></p> 

      <p> 

      名字:
      <input id="txtName2" type="text" /> 

      </p> 

      <p> 

      <input id="Button2" type="button" value="提交" onclick="getPerson()" /></p> 

      </div> 

      <head></head>中增加如下的腳本



      <script type="text/javascript"> 

      function createPerson() 



      var name = $get("txtName").value; 

      var address = $get("txtAddress").value; 

      var p = 

      Name:
      ''+name+''

      Address:
      ''+address+'' 

      }
       

      WcfJsonService.CreatePerson(p,onSuccess); 

      }
       

      function onSuccess(res) 



      alert(res); 

      }
       

      function getPerson() 



      var name = $get("txtName2").value; 

       

      WcfJsonService.GetPerson(name,onSuccess2); 

      }
       

      function onSuccess2(res) 



      alert(
      "Name:"+res.Name+",Address:"+res.Address); 

      }
       

      </script> 

      第四步:Default.aspx設置為項目起始頁,然后F5調試,瀏覽default.aspx,進行測試,現在上面的兩個文本框中輸入信息,點擊提交,出現以下效果,說明運行正常:

      此時,察看IDE中的輸出窗口,有如下的輸出:

      在網頁中第一個提交按鈕下面的文本框中輸入剛才輸入到名字,點擊提交,出現如下的效果說明能運行正常

      整個程序實現起來比較簡單,沒有太多問題,下面對幾個比較重要的地方做一下說明:

      WebInvokeAttribute:

      對服務操作(OperationContract)添加WebInvoke之后表明該操作可用于Web編程模型。通過指定它的RequestFormatResponseFormat屬性可以更改服務請求和響應的編碼格式。如

      在上面的示例中,第一個方法是將請求參數的編碼格式設置為了JSON,此時在default.aspx頁面中傳遞的javascript對象p,就能在WCF服務端解析成為服務端數據契約Person的實例

      對象。而在第二個方法中,請求的編碼是普通編碼,而響應的編碼通過ResponseFormat=WebMessageFormat.Json被指定為了JSON,服務端返回的數據契約對

      象Person對象返回到javascript的時候,javascript也能將其解析為對象,從而加以處理或者顯示。

      Ajax與WCF之間的JSON操作遠遠不止這么簡單,其他地方還有很多需要注意的,本文先簡單的做下鋪墊,很看好這種開發模式。特別是它

      這種也適合extjs和jquery的編程模型。

      程序示例代碼: /Files/jillzhang/AjaxWcfJson.rar

      posted @ 2008-06-14 13:27  Robin Zhang  閱讀(11852)  評論(18)    收藏  舉報
      主站蜘蛛池模板: 人妻少妇精品视频专区| 99RE8这里有精品热视频| 丰满人妻无码∧v区视频| 久久经精品久久精品免费观看| 日韩av一区二区精品不卡| 久久亚洲精品11p| 国精品91人妻无码一区二区三区| 国产亚洲色婷婷久久99精品| 色综合久久综合久鬼色88| 亚洲精品日韩在线观看| 影音先锋啪啪av资源网站| 一级国产在线观看高清| 人人妻人人澡人人爽欧美一区双 | 激情综合色区网激情五月| 久久人与动人物a级毛片| 国产午夜福利在线视频| 辽阳县| 色噜噜狠狠成人综合| 久久碰国产一区二区三区| 国产精品夜夜春夜夜爽久久小说| 亚洲欧美综合精品成人导航| 国产精品制服丝袜白丝| 亚洲乱码av中文一区二区| 免费看亚洲一区二区三区| 精品一区二区亚洲国产| 欧美韩中文精品有码视频在线| 精品国产精品中文字幕| 激情综合网五月婷婷| 国产成人久久精品二区三| 亚洲精品动漫免费二区| 国产精品中文字幕免费| 久久精品国产亚洲av品| 2021av在线| 午夜国产小视频| 锦屏县| 亚洲av无码精品蜜桃| 中文字幕人妻丝袜美腿乱| 亚洲男人天堂2021| 韩国午夜福利片在线观看| 99国内精品久久久久久久| 久久国产精品第一区二区|