SilverLight中数据与通信之ASMX

来源:互联网 发布:网络异常提示语 编辑:程序博客网 时间:2024/05/22 06:25

SilverLight中数据与通信之ASMX

 

1.       新建一个Web服务文件 BlogService.asmx

public class BlogService : WebService

    {

        [WebMethod]

        public Post[] GetPosts()

        {

            List<Post> posts = new List<Post>()

        {

            new Post{ Id=1, Title="一步一步学Silverlight 2系列(13):数据与通信之WebRequest", Author="TerryLee" },

            new Post{ Id=2, Title="一步一步学Silverlight 2系列(12):数据与通信之WebClient", Author="TerryLee" },

            new Post{ Id=3, Title="一步一步学Silverlight 2系列(11):数据绑定", Author="TerryLee" },

            new Post{ Id=4, Title="一步一步学Silverlight 2系列(10):使用用户控件", Author="TerryLee" },

            new Post{ Id=5, Title="一步一步学Silverlight 2系列(9):使用控件模板", Author="TerryLee" },

            new Post{ Id=6, Title="一步一步学Silverlight 2系列(8):使用样式封装控件观感", Author="TerryLee" }

        };

 

            return posts.ToArray();

        }

    }

    public class Post

    {

        public int Id { get; set; }

 

        public string Title { get; set; }

 

        public string Author { get; set; }

}

 

2.      调用

前台代码:

   <ListBox x:Name="Posts" Grid.Row="1" Margin="40 10 10 10">

            <ListBox.ItemTemplate>

                <DataTemplate>

                    <StackPanel Orientation="Horizontal">

                        <TextBlock Text="{Binding Id}" Height="40" Foreground="Red"></TextBlock>

                        <TextBlock Text="{Binding Title}" Height="40"></TextBlock>

                        <TextBlock Text="{Binding Author}" Height="40" Foreground="Orange"></TextBlock>

                    </StackPanel>

                </DataTemplate>

            </ListBox.ItemTemplate>

        </ListBox>

后台代码:

Loaded+=new RoutedEventHandler(MainPage_Loaded);

  private void MainPage_Loaded(object sender, RoutedEventArgs e)

        {

            BlogServiceSoapClient client = new BlogServiceSoapClient();

            client.GetPostsCompleted += new EventHandler<GetPostsCompletedEventArgs>(client_GetPostsCompleted);

            client.GetPostsAsync();

        }

 

        void client_GetPostsCompleted(object sender, GetPostsCompletedEventArgs e)

        {

            if (e.Error == null)

            {

                Posts.ItemsSource = e.Result;

            }

        }

原创粉丝点击