Js 读取 Webservice中返回的对象实体(泛型亦可)
大家之前应该也发表过这样的文章了,自己刚刚摸索出来,拿出来给大家分享下
Js 直接调用读取 Webservice中返回的对象实体(泛型亦可)
环境:VS 2008
准备一个用户实体,代码如下:
大家之前应该也发表过这样的文章了,自己刚刚摸索出来,拿出来给大家分享下
Js 直接调用读取 Webservice中返回的对象实体(泛型亦可)
环境:VS 2008
准备一个用户实体,代码如下:
Code
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// UserInfo 的摘要说明
/// </summary>
public class UserInfo
{
public UserInfo(int id, string name, string sex, string age, string telephone, string address)
{
this.UserId = id;
this.UserName = name;
this.UserSex = sex;
this.UserAge = age;
this.UserTelephone = telephone;
this.UserAddress = address;
}
private int _userId;
public int UserId
{
get { return _userId; }
set { _userId = value; }
}
private string _userName;
public string UserName
{
get { return _userName; }
set { _userName = value; }
}
private string _userSex;
public string UserSex
{
get { return _userSex; }
set { _userSex = value; }
}
private string _userAge;
public string UserAge
{
get { return _userAge; }
set { _userAge = value; }
}
private string _userTelephone;
public string UserTelephone
{
get { return _userTelephone; }
set { _userTelephone = value; }
}
private string _userAddress;
public string UserAddress
{
get { return _userAddress; }
set { _userAddress = value; }
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// UserInfo 的摘要说明
/// </summary>
public class UserInfo
{
public UserInfo(int id, string name, string sex, string age, string telephone, string address)
{
this.UserId = id;
this.UserName = name;
this.UserSex = sex;
this.UserAge = age;
this.UserTelephone = telephone;
this.UserAddress = address;
}
private int _userId;
public int UserId
{
get { return _userId; }
set { _userId = value; }
}
private string _userName;
public string UserName
{
get { return _userName; }
set { _userName = value; }
}
private string _userSex;
public string UserSex
{
get { return _userSex; }
set { _userSex = value; }
}
private string _userAge;
public string UserAge
{
get { return _userAge; }
set { _userAge = value; }
}
private string _userTelephone;
public string UserTelephone
{
get { return _userTelephone; }
set { _userTelephone = value; }
}
private string _userAddress;
public string UserAddress
{
get { return _userAddress; }
set { _userAddress = value; }
}
}
接下来就是直接的webservice服务,我测试的代码是这样写的:
Code
using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Collections.Generic;
/// <summary>
///UserInfo 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class UserInfo_service : System.Web.Services.WebService {
public UserInfo_service()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public UserInfo GetUserInfo()
{
UserInfo _userinfo = new UserInfo(100, "测试人员", "男", "25岁", "13777999xxxx", "测试用户地址所在");
//_userinfo.UserName = "测试人员";
//_userinfo.UserId = 100;
//_userinfo.UserAddress = "测试用户地址所在";
//_userinfo.UserAge = "25岁";
//_userinfo.UserSex = "男";
//_userinfo.UserTelephone = "13777999xxxx";
return _userinfo;
}
[WebMethod]
public List<UserInfo> GetUserInfoList()
{
List<UserInfo> userlist = new List<UserInfo>();
for (int i = 0; i < 5; i++)
{
string newid = (i + 1).ToString();
UserInfo _userinfo = new UserInfo(100 + i+1, "测试人员" + newid, "男", "25岁", "13777999xxxx", "测试用户地址所在" + newid);
userlist.Add(_userinfo);
}
return userlist;
}
}
using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Collections.Generic;
/// <summary>
///UserInfo 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class UserInfo_service : System.Web.Services.WebService {
public UserInfo_service()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public UserInfo GetUserInfo()
{
UserInfo _userinfo = new UserInfo(100, "测试人员", "男", "25岁", "13777999xxxx", "测试用户地址所在");
//_userinfo.UserName = "测试人员";
//_userinfo.UserId = 100;
//_userinfo.UserAddress = "测试用户地址所在";
//_userinfo.UserAge = "25岁";
//_userinfo.UserSex = "男";
//_userinfo.UserTelephone = "13777999xxxx";
return _userinfo;
}
[WebMethod]
public List<UserInfo> GetUserInfoList()
{
List<UserInfo> userlist = new List<UserInfo>();
for (int i = 0; i < 5; i++)
{
string newid = (i + 1).ToString();
UserInfo _userinfo = new UserInfo(100 + i+1, "测试人员" + newid, "男", "25岁", "13777999xxxx", "测试用户地址所在" + newid);
userlist.Add(_userinfo);
}
return userlist;
}
}
HTML代码中js调用如下:
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function pageLoad() {
UserInfo_service.GetUserInfo(onGetUserInfoSuccess);//返回实体
UserInfo_service.GetUserInfoList(onGetUserInfoListSuccess);//返回用户列表类型的泛型
}
function onGetUserInfoSuccess(user)
{
document.getElementById("id").innerText=user.UserId;
document.getElementById("name").innerText=user.UserName;
document.getElementById("sex").innerText=user.UserSex;
document.getElementById("age").innerText=user.UserAge;
document.getElementById("tele").innerText=user.UserTelephone;
document.getElementById("address").innerText=user.UserAddress;
}
function onGetUserInfoListSuccess(userlist)
{
var userinfo;//定义一个用户实体
for(var i=0;i<userlist.length;i++)
{
userinfo=userlist[i];
alert(userinfo.UserName);
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="UserInfo_service.asmx" InlineScript="true" />
</Services>
</asp:ScriptManager>
<table style="width: 540px" border="1" bordercolor="#663333" cellpadding="1" cellspacing="0">
<tr>
<td style="text-align: center; width: 38px;">
编号</td>
<td style="text-align: center; width: 38px;">
姓名</td>
<td style="text-align: center; width: 45px;">
性别</td>
<td style="text-align: center; width: 35px;">
年龄</td>
<td style="text-align: center; width: 82px;">
电话</td>
<td style="text-align: center; width: 79px;">
地址</td>
</tr>
<tr>
<td id="id">
</td>
<td id="name">
</td>
<td id="sex">
</td>
<td id="age">
</td>
<td id="tele">
</td>
<td id="address">
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function pageLoad() {
UserInfo_service.GetUserInfo(onGetUserInfoSuccess);//返回实体
UserInfo_service.GetUserInfoList(onGetUserInfoListSuccess);//返回用户列表类型的泛型
}
function onGetUserInfoSuccess(user)
{
document.getElementById("id").innerText=user.UserId;
document.getElementById("name").innerText=user.UserName;
document.getElementById("sex").innerText=user.UserSex;
document.getElementById("age").innerText=user.UserAge;
document.getElementById("tele").innerText=user.UserTelephone;
document.getElementById("address").innerText=user.UserAddress;
}
function onGetUserInfoListSuccess(userlist)
{
var userinfo;//定义一个用户实体
for(var i=0;i<userlist.length;i++)
{
userinfo=userlist[i];
alert(userinfo.UserName);
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="UserInfo_service.asmx" InlineScript="true" />
</Services>
</asp:ScriptManager>
<table style="width: 540px" border="1" bordercolor="#663333" cellpadding="1" cellspacing="0">
<tr>
<td style="text-align: center; width: 38px;">
编号</td>
<td style="text-align: center; width: 38px;">
姓名</td>
<td style="text-align: center; width: 45px;">
性别</td>
<td style="text-align: center; width: 35px;">
年龄</td>
<td style="text-align: center; width: 82px;">
电话</td>
<td style="text-align: center; width: 79px;">
地址</td>
</tr>
<tr>
<td id="id">
</td>
<td id="name">
</td>
<td id="sex">
</td>
<td id="age">
</td>
<td id="tele">
</td>
<td id="address">
</td>
</tr>
</table>
</div>
</form>
</body>
</html>