0

私は MVC 4 を使用しており、以下のモデルを定義しており、ビューでも同じものを使用しています。

ビューにアイテムを表示し、各都市のチェックボックスをレンダリングしたい。そのため、ユーザーは特定のアイテムに対して複数の都市を選択できます。

public class City
{
int id{get;set;}
string name{get;set;}
}
public class Item
{
int id{get;set;}
List<City> cities{get;set;}
}

public class ItemController{

public ActionResult Save(Item item){
 List<city> selectedCitirs=item.cities; // here null

 return View();
}

public ActionResult Get(int id){

Item item=Service.GetItem(id);

return View(item);

}

}

@model item

@foreach(City c in item.cities){

@Html.CheckBoxFor(c=>c.name)

}

コントローラーで、選択した都市名を取得し、city1、city2、city3 形式のような DB に保存したいと考えています。

しかし、コントローラーはitem.citiesを与えていません。実行する方法?

4

1 に答える 1

1

試す

@model Item

@for (int i=0; i < Model.cities.Length; ++i) 
{
    @Html.CheckBoxFor(m => m.cities[i].name)
}

以下も参照してください。

于 2013-03-17T07:00:47.027 に答える