熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

訪問WebService傳遞復雜參數

2013-11-13 10:26:55  來源: .NET編程 

  數據類型(AspNet Ajax)

  參數類型一定要有默認的構造函數

  (如果類沒有寫構造函數)編譯器會自動生成默認構造函數

  手動編寫默認的構造函數

  客戶端設置類型公有的域變量及屬性

  設置的屬性必須有Setter方法

  使用JSON進行傳輸格式

  自動進行序列化與反序列化

  json格式可以分成三種

  第一種類型是scalar(標量)也就是一個單獨的string(字符串)或數字(numbers)比如北京這個單獨的詞

  第二種類型是sequence(序列)也就是若干個相關的數據按照一定順序並列在一起又叫做array(數組)或List(列表)比如北京東京

  第三種類型是mapping(映射)也就是一個名/值對(Name/value)即數據有一個名稱還有一個與之相對應的值這又稱作hash(散列)或dictionary(字典)比如首都北京

  ) 並列的數據之間用逗號()分隔

  ) 映射用冒號()表示

  ) 並列數據的集合(數組)用方括號([])表示

  ) 映射的集合(對象)用大括號({})表示

  給出一個例子

  [

  {城市:北京面積:人口:}

  {城市:上海面積:人口:}

  ]

  下面給出一個例子

  當然包括ScriptManager

  function UserOK()

  {

  checkAllInfo();

  var txtuserid=$get(txtUserID);

  var txtcustom=$get(customQuestion);

  var selectid=$get(SelectQuestion);

  var txtanswer=$get(txtAnswer);

  var txtmail=$get(txtMailBoxAddress);

  var txtpaw=$get(txtUserPassword);

  if(selectid!=)

  {

  var userentity={UserID:txtuseridvalueDesignationKindID:MailAddress:txtmailvalue

  GradeID:UserPsw:txtpawvalueQuestion:selectidvalueAnswer:txtanswervalueUserName:

  Point:UserType:LockTime:LoginCount:LoginTime:}

  GetUserServiceUserServiceRegisterUser(userentityRegisterSucceeded);

  }

  else

  {

  var userentity={UserID:txtuseridvalueDesignationKindID:MailAddress:txtmailvalue

  GradeID:UserPsw:txtpawvalueQuestion:txtcustomvalueAnswer:txtanswervalueUserName:

  Point:UserType:LockTime:LoginCount:LoginTime:}

  GetUserServiceUserServiceRegisterUser(userentityRegisterSucceeded);

  }

  }

  function RegisterSucceeded(result)

  {

  if(result)alert(注冊成功);

  else alert(注冊失敗);

  }

  服務器內容是

  [WebMethod]

  public bool RegisterUser(UserEntity userentity)

  {

  userentityPoint = intParse(ConfigurationManagerAppSettings[UserBeginPoint]);

  userentityUserPsw = FormsAuthenticationHashPasswordForStoringInConfigFile(userentityUserPsw MD);

  if (UserDataInsertUser(userentity))

  return true;

  else

  return false;

  }

  這個UserEntity是

  using System;

  using SystemCollectionsGeneric;

  using SystemLinq;

  using SystemText;

  namespace SQLProduct

  {

  public class UserEntity

  {

  public string UserID { set; get; }

  public int DesignationKindID { set; get; }

  public string MailAddress { set; get; }

  public int GradeID { set; get; }

  public string UserPsw { set; get; }

  public string Question { set; get; }

  public string Answer { set; get; }

  public string UserName { set; get; }

  public int Point { set; get; }

  public string UserType { set; get; }

  public string LockTime { set; get; }

  public int LoginCount { set; get; }

  public string LoginTime { set; get; }

  }

  }


From:http://tw.wingwit.com/Article/program/net/201311/13659.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.