2011-12-01 21 views
6

Denetleyiciden Görünüm'e geçtiğim bir liste olan Viewbagam var. Viewbag, benim durumumdaki 10 kaydın bir listesi. Görünümde, kullanıcı kaydetmeyi tıklarsa, Viewbag'in içeriklerini oluşturabilmek için View içeriğini [HttpPost] Create denetleyicisine iletmeyi seviyorum. Bunu nasıl yapacağımı kesin olarak biliyorum. 1 öğe için yeni bir kayıt oluşturdum ama bunu birden çok kayıt için nasıl yapabilirim.MVC Pass Denetleyici Denetleyici

cevap

12

Burada ViewBag'ı kullanmanın hızlı bir örneği. Bağlantınızı yapmak için bir modelin değiştirilmesini ve kullanılmasını öneririm. İşte bu konuda harika bir yazı var. Model Binding

alın Yöntem:

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

Mesaj Yöntemi

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