2012-04-04 3 views
0

다음은 비즈니스 로직에 관한 나의 코드입니다. 나는 webservice를 호출하여 json 아래에 도달하고 객체에 deserialize했다 (Entity에 나와있는 것처럼). 이제는 카테고리 선택 항목과 함께 드롭 다운을 표시하고 사용자가 카테고리를 선택하면 하위 카테고리의 체크 박스 목록을 표시해야합니다.드롭 다운 선택에 따라 체크 박스 목록을 표시하는 방법은 무엇입니까?

내 코드에 따라 드롭 다운에 "Eat"& "엔터테인먼트"옵션이 있어야합니다. . 그리고 사용자하다면 체크 박스 목록으로 "엔터테인먼트"다음은 "모든", "영화, &"볼링을 표시해야합니다 "를 선택 사람이 어떻게 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; } 
    } 

ServiceCall :

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; 
     } 

답변

2

은 @model의 MyData

@foreach (Category item in Model.Categories) 
     { 
<input type="checkbox" name="Categories" value="@item.categoryId" id="@item.categoryId"/> 

     } 
에게보기에서 다음 코드를 사용하여
관련 문제