【问题标题】:Consuming WEB API Xamarin Forms使用 WEB API Xamarin 表单
【发布时间】:2018-07-11 17:20:09
【问题描述】:

我有一个托管在服务器上的 WEB API,我有一个带有名称和描述的 Products 表。我已经检查了邮递员,这没关系,当我尝试通过 Visual Studio 在 xamarin 中实现该方法以带来按名称记录并显示在列表视图中我收到以下消息

不能隐式转换类型“void”in "System.Collections.Generic.List"

    public async void GetProductByName(string Name)

       {
            var client = new HttpClient(handler);
            client.Timeout = TimeSpan.FromSeconds(120);

            txtTest.Text = 
            "http://www.ProdutosAPITest6.hostname.com/api/products";
            var URI = txtTest.Text + "/" + Name.ToString();

            var requestMessage = new HttpRequestMessage
            {
                Method = HttpMethod.Get,
                RequestUri = new Uri(URI)
            };

            var response = await client.SendAsync(requestMessage);

            if (response.IsSuccessStatusCode == true)
            {
                var products = await response.Content.ReadAsStringAsync();

                var resultModel = JsonConvert.DeserializeObject<Product> 
                (products);
                return resultModel;
            }
      }


   MY CLASS

   namespace XF_ConsumingWebAPI.Models
   {
     public class Product
     {
       public int Id { get; set; }
       public string Name { get; set; }
       public string Description { get; set; }
     }
   }

    MY LISTVIEW


     public ListView myListView { get { return ProductsList; }}

        protected override async void OnAppearing()
         {
            var name = //pass name;
            List<ProductModel> products = await GetProductByName(Name);

              if (products.Count() > 0)
               { 
                 myListView.ItemsSource = products;
               }

           base.OnAppearing();
         }


     in the line List<Produto> products = await LoadData(Name); 

     I'm receiving the following message

     Can not implicitly convert type "void" in
    "System.Collections.Generic.List<XF_ConsumingWebAPI.Models.Product>"

【问题讨论】:

标签: xamarin asp.net-web-api xamarin.forms asp.net-web-api2


【解决方案1】:

尝试在 GetproductByName 函数中设置 ItemSource 而不是返回 resultModel,即 myListView.ItemSource=resultModel

【讨论】:

    猜你喜欢
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多