当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

访问WebService传递复杂参数

  数据类型(Asp.Net Ajax)

  参数类型一定要有默认的构造函数

  (如果类没有写构造函数)编译器会自动生成默认构造函数

  -手动编写默认的构造函数

  客户端设置类型公有的域变量及属性

  -设置的属性必须有Setter方法

  使用JSON进行传输格式

  自动进行序列化与反序列化

  json格式可以分成三种

  第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词。

  第二种类型是sequence(序列),也就是若干个相关的数据按照一定顺序并列在一起,又叫做array(数组)或List(列表),比如“北京,东京”。

  第三种类型是mapping(映射),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作hash(散列)或dictionary(字典),比如“首都:北京”。

  1) 并列的数据之间用逗号(“,”)分隔。

  2) 映射用冒号(“:”)表示。

  3) 并列数据的集合(数组)用方括号("[]")表示。

  4) 映射的集合(对象)用大括号(“{}”)表示。

  给出一个例子:

  [

  {"城市":"北京","面积":16800,"人口":1600},

  {"城市":"上海","面积":6400,"人口":1800}

  ]

  下面给出一个例子

  当然包括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!=10)

  {

  var userentity={"UserID":txtuserid.value,"DesignationKindID":1,"MailAddress":txtmail.value,

  "GradeID":1,"UserPsw":txtpaw.value,"Question":selectid.value,"Answer":txtanswer.value,"UserName":"0",

  "Point":"0","UserType":"0","LockTime":"0","LoginCount":0,"LoginTime":"0"}

  GetUserService.UserService.RegisterUser(userentity,RegisterSucceeded);

  }

  else

  {

  var userentity={"UserID":txtuserid.value,"DesignationKindID":1,"MailAddress":txtmail.value,

  "GradeID":1,"UserPsw":txtpaw.value,"Question":txtcustom.value,"Answer":txtanswer.value,"UserName":"0",

  "Point":"0","UserType":"0","LockTime":"0","LoginCount":0,"LoginTime":"0"}

  GetUserService.UserService.RegisterUser(userentity,RegisterSucceeded);

  }

  }

  function RegisterSucceeded(result)

  {

  if(result)alert("注册成功");

  else alert("注册失败");

  }

相关内容
赞助商链接