以下は、ビジネスロジックを使用した私のコードです。Web サービスを呼び出して json の下に移動し、それをオブジェクトに逆シリアル化しました (私のエンティティに示されているように)。ここで、カテゴリを選択してドロップダウンを表示したいと思います。ユーザーがカテゴリを選択すると、サブカテゴリのチェックボックス リストが表示されます。
以下のコードによると、ドロップダウンには「食べる」と「エンターテイメント」のオプションが必要です。ユーザーが「エンターテインメント」を選択すると、チェックボックスリストとして「すべて」、「映画」、「ボウリング」が表示されます。MVC3およびC#でこれを行う方法を教えてください。
JSON:
{
"Code":0,
"Status":"Done",
"Categories":[
{
"ID":1,
"Name":"Eat",
"Subcategories":[
{"Flag":false,"ID":100,"Name":"Food"},
{"Flag":false,"ID":101,"Name":"Fast Food"},
{"Flag":false,"ID":102,"Name":"Other"}
]
},
{
"ID":2,
"Name":"Entertainment",
"Subcategories":[
{"Flag":false,"ID":100,"Name":"All"},
{"Flag":false,"ID":101,"Name":"Movie"},
{"Flag":false,"ID":102,"Name":"Bowling"}
]
},
}
]
}
実在物:
public class MyData
{
public int Code { get; set; }
public string Status { get; set; }
public List<Category> Categories { get; set; }
}
public class Category
{
public string Name { get; set; }
public int ID { get; set; }
public List<Subcategory> Subcategories { get; set; }
}
public class Subcategory
{
public string Name { get; set; }
public int ID { get; set; }
public bool Flag { get; set; }
}
サービスコール:
public MyData GetAllCategories()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://host/data/categories/");
request.ContentType = "application/json; charset=utf-8";
request.Method = "GET";
string returnJson = string.Empty;
using (WebResponse response = request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream))
{
while (!reader.EndOfStream)
{
returnJson += reader.ReadLine();
}
}
}
}
MyData deserializedMyData = JsonConvert.DeserializeObject<MyData>returnJson
return deserializedMyData;
}