复杂参数的基本使用方式
2008-04-27 14:20
477 查看
复杂参数的基本使用方式
•作为参数的类型一定要有默认的构造函数
–编译器自动生成默认的构造函数
–手动编写默认的构造函数
•客户端设置类型共有的域变量及属性
–设置的属性必须有Setter方法
•使用JSON进行传输格式
•自动进行序列化与反序列化
aspx
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="ColorService.asmx" InlineScript="true" />
</Services>
</asp:ScriptManager>
<input type="button" value="Reverse Color" onclick="ReverseColor()" />
<script language="javascript" type="text/javascript">
function ReverseColor()
{
var color = {"Red" : 50, "Green" : 100, "Blue" : 200};
ColorService.Reverse(color, onSucceeded);
}
function onSucceeded(result)
{
alert(String.format(
"Red: {0}\nGreen: {1}\nBlue: {2}",
result.Red,
result.Green,
result.Blue));
}
</script>
</form>
ColorService.asmx
<%@ WebService Language="C#" Class="ColorService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using ComplexType;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class ColorService : System.Web.Services.WebService
{
[WebMethod]
[GenerateScriptType(typeof(Color))]
public Color Reverse(Color color)
{
return new Color(
(byte)(255 - color.Red),
(byte)(255 - color.Green),
(byte)(255 - color.Blue));
}
}
Color.cs
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;
namespace ComplexType
{
/// <summary>
/// Summary description for Color
/// </summary>
public class Color
{
public Color() { }
public Color(byte red, byte green, byte blue)
{
this.Red = red;
this.Green = green;
this.Blue = blue;
}
public byte Red;
public byte Green;
public byte Blue;
}
}
•作为参数的类型一定要有默认的构造函数
–编译器自动生成默认的构造函数
–手动编写默认的构造函数
•客户端设置类型共有的域变量及属性
–设置的属性必须有Setter方法
•使用JSON进行传输格式
•自动进行序列化与反序列化
aspx
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="ColorService.asmx" InlineScript="true" />
</Services>
</asp:ScriptManager>
<input type="button" value="Reverse Color" onclick="ReverseColor()" />
<script language="javascript" type="text/javascript">
function ReverseColor()
{
var color = {"Red" : 50, "Green" : 100, "Blue" : 200};
ColorService.Reverse(color, onSucceeded);
}
function onSucceeded(result)
{
alert(String.format(
"Red: {0}\nGreen: {1}\nBlue: {2}",
result.Red,
result.Green,
result.Blue));
}
</script>
</form>
ColorService.asmx
<%@ WebService Language="C#" Class="ColorService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using ComplexType;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class ColorService : System.Web.Services.WebService
{
[WebMethod]
[GenerateScriptType(typeof(Color))]
public Color Reverse(Color color)
{
return new Color(
(byte)(255 - color.Red),
(byte)(255 - color.Green),
(byte)(255 - color.Blue));
}
}
Color.cs
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;
namespace ComplexType
{
/// <summary>
/// Summary description for Color
/// </summary>
public class Color
{
public Color() { }
public Color(byte red, byte green, byte blue)
{
this.Red = red;
this.Green = green;
this.Blue = blue;
}
public byte Red;
public byte Green;
public byte Blue;
}
}
相关文章推荐
- 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
- 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
- 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
- Radmin Views有一些命令列方式的参数的使用!
- 搬迁学习笔记1——Handler的基本使用、子线程更新UI的方式
- MediaPlayer基本使用方式
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
- 使用命令参数方式指定log4j配置文件
- Java中不定项参数(可变参数)的作用和使用方式
- 自动化工具ansible基本命令和使用方式学习笔记
- android客户端通过Get方式提交参数给服务器,使用URL和HttpURLConnection实现,以及乱码问题解决
- 精解window.setTimeout()&window.setInterval()使用方式与传参数
- 【翻译】使用Lazy<T>和抽象包装类延迟加载复杂的系统参数
- Windows Service 使用参数安装DEMO,可使用控制台启动方式进行调试,服务安装完后立即启动
- HttpClien实现使用post方式模拟表单上传大文件和字符参数
- hibernate里使用jdbc方式调用oracle带游标返回参数的简单分页存储过程
- Android MediaPlayer基本使用方式
- guice基本使用,配置模块的两种方式(三)
- dwr 不能使用复杂类型参数的解决办法
- 存储过程使用 in 添加多个参数的情况处理方式【转】