就在去年Insus.NET已经写好的一个WebAPI项目,并且发布在IIS中。参考《http://www.cnblogs.com/insus/p/5019088.html

从上面的链接可以查看到那篇实例。

今天Insus.NET就另开一个ASP.NET MVC项目,去操作这个Web API接口。

在控制器中,创建一个Action:

怎样操作WebAPI接口(显示数据)

 

接下面创建视图:
怎样操作WebAPI接口(显示数据)

 

获取数据是使用jQuery的Ajax来实现,方便与快捷,即是上图标记#3的jQuery代码程序:
怎样操作WebAPI接口(显示数据)

 

上图中蓝色箭头的url即是Web API的url路径。

运行,看看获取数据库的结果:
怎样操作WebAPI接口(显示数据)

 
正常来说,到上面为止算是演示完成,但是Insus.NET的想法,在ASP.NET MVC视图显示数据不太想使用jQuery来实现,而是想在控制中,去把数据传入视图中,当视图完成时,数据也显示完成。

在新项目中,创建一个model,跟Web API的model一样:
怎样操作WebAPI接口(显示数据)

 

写一个方法,使作HttpClient类来处理Web API接口返回的数据:
怎样操作WebAPI接口(显示数据)

 

 public static IEnumerable<T> Get<T>(string url)
        {
            IEnumerable<T> model = null;

            var client = new HttpClient();
            var task = client.GetAsync(url)
              .ContinueWith((taskwithresponse) =>
              {
                  var response = taskwithresponse.Result;
                  var jsonString = response.Content.ReadAsStringAsync();
                  jsonString.Wait();

                  var json = jsonString
                              .Result
                              .TrimStart('\"')
                              .TrimEnd('\"')
                              .Replace("\\", "");

                  model = json.ToObject<IEnumerable<T>>();

              });
            task.Wait();
            return model;
        }
Source Code

相关文章:

  • 2021-06-03
  • 2022-12-23
  • 2021-12-22
  • 2022-12-23
  • 2021-11-27
  • 2022-02-08
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-29
  • 2023-03-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案