Как показать listview в форме xamarin
Я пытаюсь показать listview с данными json из веб-сервиса, но у меня есть ошибка
var response = await api.getAllUserGoogle();
это ошибка сообщения :
Response status code does not indicate success: 500 (Internal Server Error)
Это мои данные json от webservice
{"isSuccess":true,"resultMessage":"","data": [{"password":"MnwPzyBdAZBrDV6xMHoIzg","userid":138,"email":"gusssion@gmail.com","username":"gussion"},{"password":"PFjQJkorLvR+ilWUWdq1Yw","userid":98,"email":"vania@gmail.com","username":"vania"},{"password":"LRmayI3ClJtVWijRyhR3Fg","userid":106,"email":"yuli@gmail.com","username":"yuli"}]}
Это мое кодирование:
ApiInterface.в CS
interface ApiInterface { [Post("/getAllUser")] Task<Data_ReturnResult> getAllUser(); }
Data_ReturnResult
[Serializable] public class Data_ReturnResult { public Boolean isSuccess; public String resultMessage; public object data; public static Data_ReturnResult createReturnResult(Boolean isSuccess, String resultMessage, object data = null) { Data_ReturnResult result = new Data_ReturnResult(); result.isSuccess = isSuccess; result.resultMessage = resultMessage; result.data = data; return result; } public static String createReturnResultInJson(Boolean isSuccess, String resultMessage, object data = null) { Data_ReturnResult result = createReturnResult(isSuccess, resultMessage, data); return JsonConvert.SerializeObject(result); } }
MainPage.xml
<StackLayout> <ListView x:Name="MyListView"> <ListView.ItemTemplate> <DataTemplate> <TextCell Text="{Binding Username}" TextColor="Black"/> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackLayout>
Файл MainPage.язык XAML.в CS
public partial class MainPage : ContentPage { private ApiInterface api; public List<User> users { get; set; } public class User { String password; String userId; String email; String username; public string Password { get => password; set => password = value; } public string UserId { get => userId; set => userId = value; } public string Email { get => email; set => email = value; } public string Username { get => username; set => username = value; } } public MainPage() { InitializeComponent(); api = RestService.For<ApiInterface>("http://192.168.0.185/webservice/webservice.asmx"); _ = CallApi(); } async Task CallApi() { var response = await api.getAllUsers(); MyListView.ItemsSource = response.ToString(); } }
Веб-сервис
[WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public void getAllUsers() { DbAccessConnection conn = getActiveConnection(); if (conn == null) return; try { beginTransaction(conn); User users = new User(conn); DataSet ds = new DataSet(); string tbName = "User"; users.getAll(ds, tbName); DataTable dtTbl = ds.Tables[tbName]; List<Dictionary<String, object>> lsOfDtTbl = Tools.convertDataTableToList(dtTbl); Responder.writeResponse(true, "", lsOfDtTbl ); commitTransaction(conn); } catch (Exception ex) { rollbackTransaction(conn); Responder.writeResponse(false, ex.Message); } }
Что я уже пробовал:
Не могли бы вы помочь мне, как это исправить ?