7

コントローラーからビューに渡すリストであるビューバッグがあります。私の場合、Viewbag は 10 個のレコードのリストです。ビューに入ったら、ユーザーが保存をクリックすると、View のコンテンツを [HttpPost] Create コントローラーに渡し、Viewbag にレコードを作成できるようにします。私はこれを行う方法を確信しています。1 つのアイテムに対して新しいレコードを作成しましたが、複数のレコードに対してはどうすればよいですか。

4

1 に答える 1

13

ViewBag を使用した簡単な例を次に示します。モデルを切り替えてバインディングを行うことをお勧めします。ここにそれに関する素晴らしい記事があります。モデルバインディング

取得方法:

    public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";
        List<string> items = new List<string>();
        items.Add("Product1");
        items.Add("Product2");
        items.Add("Product3");

        ViewBag.Items = items;
        return View();
    }

投稿方法

    [HttpPost]
    public ActionResult Index(FormCollection collection)
    {
        //only selected prodcuts will be in the collection
        foreach (var product in collection)
        {

        }
        return View();
    }

HTML:

@using (Html.BeginForm("Index", "Home"))
 {
     foreach (var p in ViewBag.Items)
     {
        <label for="@p">@p</label>
        <input type="checkbox" name="@p" />
     }

    <div>
    <input id='btnSubmit' type="submit" value='submit' />
    </div>
 }
于 2011-12-02T14:22:17.023 に答える