博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
silverlight调用MVC WebApi方法
阅读量:4929 次
发布时间:2019-06-11

本文共 3301 字,大约阅读时间需要 11 分钟。

1、创建ASP.NET MVC4 Web应用程序,选择WebAPI模板

 

2、添加silverlight项目

3、新建一个数据模型类,代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace NetMVCAPI.Models{    public class Contact    {        public int Id { get; set; }        public string Name { get; set; }        public string Gender { get; set; }    }}

 

4、新建一个控制器,代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;using NetMVCAPI.Models;namespace NetMVCAPI.Controllers{    public class ContactController : ApiController    {        Contact[] contacts = new Contact[]         {             new Contact(){ Id=1, Name="mk", Gender="男"},            new Contact(){ Id=2, Name="ll", Gender="男"},            new Contact(){ Id=3, Name="hj", Gender="男"},            new Contact(){ Id=4, Name="zxm", Gender="女"},            new Contact(){ Id=5, Name="wmq", Gender="女"},        };        ///         /// /api/Contact        ///         /// 
public IEnumerable
GetListAll() { return contacts; } ///
/// /api/Contact/id /// ///
///
public Contact GetContactById(int id) { Contact contact = contacts.FirstOrDefault
(item => item.Id == id); if (contact == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return contact; } ///
/// 根据性别查询 /// /api/Contact?Gender=女 /// ///
///
public IEnumerable
GetListByGender(string gender) { return contacts.Where(item => item.Gender == gender); } ///
/// 根据姓名查询 /// /api/Contact/Name=mk /// ///
///
public IEnumerable
GetListByName(string name) { return contacts.Where(item => item.Name == name); } }}

5、通过silverlight访问WebApi

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;namespace SilverlightApplication1{    public partial class MainPage : UserControl    {                public MainPage()        {            InitializeComponent();        }        private void Button_Click(object sender, RoutedEventArgs e)        {            var uriStr = new Uri(Application.Current.Host.Source, TextBoxUri.Text);            var wc = new WebClient();            wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadStringAsyncCompleted);            wc.DownloadStringAsync(uriStr);        }        void DownloadStringAsyncCompleted(object sender, DownloadStringCompletedEventArgs e)        {            try            {                TextBlock_Result.Text = e.Result;            }            catch (Exception ex)            {                TextBlock_Result.Text = ex.Message;            }        }    }}

6、运行如下:

运行前:

运行后:

 

转载于:https://www.cnblogs.com/iammackong/p/3544422.html

你可能感兴趣的文章
画世界怎么用光影_世界绘画经典教程:水彩光影魔法教程
查看>>
matlab提取caffe模型,深度學習Caffe實戰筆記(10)Windows Caffe使用MATLAB接口提取和可視化特征...
查看>>
win+rsync+php,跨平台的fswatch+rsync同步备份
查看>>
vue2 cdn 加载html,vue项目中使用CDN加载
查看>>
数组转集合踩坑
查看>>
node.js的异步I/O、事件驱动、单线程
查看>>
vue cli3 子目录问题
查看>>
github.com访问慢解决
查看>>
微服务架构最强详解
查看>>
转:哈夫曼树详解
查看>>
.Net Core Identity外面使用Cookie中间件
查看>>
【坐在马桶上看算法】算法1:最快最简单的排序——桶排序
查看>>
C#中泛型之Dictionary
查看>>
强连通分量
查看>>
Linux 入门 bash语句 第三课
查看>>
LeetCode 27. 移除元素
查看>>
【原创】phpcms v9 0day
查看>>
杂谈SharpDx中的WIC组件——我们需要WIC的图片编码功能么?
查看>>
移动端弹性盒
查看>>
觉得比较重要的一张触发器的图,高手跳过哈!
查看>>