0

ユーザーの好きな果物を保存する Web ページを作成したいと考えています。

ここに私のモデルがあります:

public class user
{
    public long UserId {get; set;}
    public string UserName {get;set;}
}

public class userFruit
{
    public long UserFruitId {get; set;}
    public long UserId {get;set;}
    public long FruitId {get;set;}
}

public class Fruit
{
    public long FruitId {get;set;}
    public string FruitName {get;set;}
}

そして、 User オブジェクトに UserFruit のリストが含まれるように、UseruserFruitの間にリンケージを作成しました。

コントローラーでは、次の 2 つをビューに渡します。
- モデル: ユーザー モデル
- ビューバッグ: フルーツ

ビューでは、VierBag.Fruit のすべてのフルーツを CheckBox 形式で一覧表示したいと考えています。たとえば、
[ ] アップル
- [ ] オレンジ
- [ ] バナナ
ユーザーは複数のフルーツを選択できます。

回答が UserFruit オブジェクトに自動的にバインドできるようにビューを実装する最良の方法は何ですか?

4

1 に答える 1

1

私は個人的に を使用するのでViewModelList<Fruit>なく、 を作成しViewBag

public class FruitViewModel
{
    public bool Apple { get; set; }
    public bool Orange { get; set; }
    public bool Banana { get; set; } 
}

public ActionResult ListFruits() 
{
   var model = new FruitViewModel();
   return View("Fruits", model);
}

次に、ビューで使用できます@Html.CheckBoxFor

@Html.CheckBoxFor(m => m.Apple, new { id = "chkApple" });
@Html.CheckBoxFor(m => m.Orange, new { id = "chkOrange" });
@Html.CheckBoxFor(m => m.Banana, new { id = "chkBanana" });

これらのプロパティは、ユーザーの選択に応じてtrueまたはfalseになり、フォームが送信されるとサーバーに戻されます。

于 2013-06-25T07:17:36.337 に答える