在我的网络服务中,我实现了一个SaveSurveyAnswerAsync方法,其中我的一个参数是arraylist。这就是我将如何读取来自应用程序的xamarin调用的数据(已经实现)。
private DataTable ConvertArrayToDT(ArrayList Answer)
{
DataTable dt = new DataTable();
dt.Columns.Add("int_SurveyQuestionID", typeof(int));
dt.Columns.Add("int_SurveyAnswerID", typeof(int));
foreach (string item in Answer)
{
DataRow dr = dt.NewRow();
dr["int_SurveyQuestionID"] = item[0].ToString();
dr["int_SurveyAnswerID"] = item[1].ToString();
dt.Rows.Add(dr);
}
return dt;
}
这是我的保存方法:
[OperationContract]
[WebInvoke(Method = "Post",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json
)]
string SaveSurveyAnswer(string ClientCode, int OrganizationID, string UserID, int SurveyID, int UserSurveyID, ArrayList Answer);
在xamarin中,它要求我提供ObservableCollection对象。现在,当我发送一个observablecollection列表时,它会返回一个异常(这就是异常即将到来的基本原因)。所以现在的问题是,当我要求我提供xamarin中的observablecollection列表时,我如何发送一个arraylist
答案 0 :(得分:0)
在这种情况下,我会建议你使用json文件和serialzes
,就像你可以保存为字符串一样,当你想要使用它时,只需要deserialize
它。
示例:
序列化:
var json = JsonConvert.SerializeObject(t);
Derialize to a object:
var json = await httpClient.GetStringAsync(WebServiceUrl+context);