gpt4 book ai didi

c# - 使用 JSON 字符串填充 ASP.Net DropDownList

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:41 24 4
gpt4 key购买 nike

如何从 json 字符串中获取某些值,并将其插入到 C# 中的字典中?

以下是我的json字符串:

[{"RowNum":7,"Item_Code":"m2","Item_Name":"Mixer","Item_ProductBrand":0,"Item_Category":1,"Item_Unit":0,"Item_Blocked":false,"Costing_Method":0,"Standard_Cost":0.0,"Retail_UnitPrice":10.0,"Dealer_UnitPrice":20.0,"Distributor_UnitPrice":30.0,"Safety_Stock":0.0,"Safety_LeadTime":0,"Reorder_Point":0.0,"Reorder_Quantity":0.0,"BusinessUnitID":"1","CompanyID":"1","RowVersion":1},{"RowNum":8,"Item_Code":"t1","Item_Name":"Television","Item_ProductBrand":0,"Item_Category":1,"Item_Unit":0,"Item_Blocked":false,"Costing_Method":0,"Standard_Cost":0.0,"Retail_UnitPrice":40.0,"Dealer_UnitPrice":50.0,"Distributor_UnitPrice":60.0,"Safety_Stock":0.0,"Safety_LeadTime":0,"Reorder_Point":0.0,"Reorder_Quantity":0.0,"BusinessUnitID":"1","CompanyID":"1","RowVersion":1}]

目前我在这个字符串中有两个 json 对象。它实际上是以JSON Array的形式创建的字符串。

我有一个字典,我需要在其中添加 Item_Name 和 Item_Code。如何做到这一点?

我成功地创建了字典并从字符串中添加/映射元素。但是,我无法填充 DropDownList。我的代码是:

string items = GetJSON(url);
Dictionary<string, string>[] itemDictionary = JsonConvert.DeserializeObject<Dictionary<string, string>[]>(items);
DropDownList3.DataSource = itemDictionary;
DropDownList3.DataTextField = "Item_Name";
DropDownList3.DataValueField = "Item_Code";
DropDownList3.DataBind();

这是行不通的。如何纠正这个问题?

最佳答案

你应该创建一个列表,你不应该将字典绑定(bind)到组合框,我认为你甚至做不到。可能是我错了,但这不是干净的方法。所以你可以做的是创建一个对象列表,并从字典中创建一个对象,例如类似于我下面写的 Item 对象,然后将对象添加到列表中。最后将列表设置为数据源。那可行。像这样:

public class item
{
public Customer(){
}

public int ItemCode{set; get;}
public string ItemName{set; get;}

// and the other properties

}

然后从字典中创建对象并将其添加到列表中。

List<Item> itemList = new List<Item>();
string items = GetJSON(url);
Dictionary<string, string>[] itemDictionary = JsonConvert.DeserializeObject<Dictionary<string, string>[]>(items);
Item newItem = new Item();
newmItem.ItemCode = Convert.ToInt32 (itemDictionary["Item_Code"]);
// ... and the other properties
// then add the object to the list
itemList.Add(newItem);
DropDownList3.DataSource = itemList;
DropDownList3.DataTextField = "ItemName";

DropDownList3.DataBind();

然后将其绑定(bind)到 index_changed 事件并从那里将其转换为 Item 对象并获取您感兴趣的属性

关于c# - 使用 JSON 字符串填充 ASP.Net DropDownList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24779964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com