【发布时间】:2018-03-11 04:32:33
【问题描述】:
我知道如何在 webapi 中使用一个字符串进行检索。但我不知道如何在我的 webapi 中使用哈希表。因为在哈希表中,我对每种形式都有不同的条件,但调用相同的 api。
我正在使用 .net3.5
例子:
System.Collections.Hashtable _condition = new System.Collections.Hashtable();
if (TPX.StringHelper.NVL(cbxStatus.EditValue, "-Please Select-") != "-Please Select-")
_condition.Add("Status", cbxStatus.EditValue.ToString());
if (TPX.StringHelper.NVL(cbxCenter.EditValue, "-Please Select-") != "-Please Select-")
_condition.Add("Center", cbxCenter.EditValue.ToString());
if (chkHideDone.Checked)
_condition.Add("IsDone", Convert.ToInt32(!chkHideDone.Checked));
_condition.Add("StartDate", dtpBegin.DateTime.ToString("yyyyMMdd"));
_condition.Add("EndDate", dtpEnd.DateTime.ToString("yyyyMMdd"));
string itemJson = Newtonsoft.Json.JsonConvert.SerializeObject(_condition);
string navURL = GlobalParameters.Host + "api/Order/RetrieveOrderList?conditions="+itemJson;
using (System.Net.WebClient webClient = new System.Net.WebClient())
{
webClient.Headers["Content-Type"] = "application/json";
webClient.Encoding = Encoding.UTF8;
string sJson = webClient.DownloadString(navURL); List<Models.OrderList> myDeserializedObjList = (List<Models.OrderList>)Newtonsoft.Json.JsonConvert.DeserializeObject(sJson, typeof(List<Models.OrderList>));
grdOrder.DataSource = myDeserializedObjList;
}
下载字符串时出错 (webclient.downloadstring(navURL))。 注意:我已经复制了相同的逻辑来再创建一个并由一个字段而不是哈希表过滤我没有问题。 我真的需要 hashtbale,因为我在项目的不同地方使用相同的逻辑,只是提供的条件不同。
我非常感谢您提供任何有价值的意见。谢谢。
【问题讨论】:
标签: c# json asp.net-web-api hashtable