自强不息,止于至善

身无半文,心忧天下;手释万卷,神交古人
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在客户端生成类型代理

Posted on 2007-10-28 15:50  L.Zhang  阅读(140)  评论(0)    收藏  举报

//客户端代码

  <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 = new ComplexType.Color();
                color.Red 
= 50;
                color.Green 
= 100;
                color.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>
//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));
    }