2011-12-01 10 views
6

मेरे पास एक व्यूबैग है जो एक सूची है जिसे मैं नियंत्रक से दृश्य में भेज रहा हूं। व्यूबैग मेरे मामले में 10 रिकॉर्ड की एक सूची है। एक बार दृश्य में, यदि उपयोगकर्ता सहेजने पर क्लिक करता है, तो मैं व्यू की सामग्री [HttpPost] को नियंत्रक बनाने के लिए पास करना चाहता हूं ताकि मैं व्यूबैग में रिकॉर्ड बना सकूं। मुझे यकीन है कि यह कैसे करें। मैंने 1 आइटम के लिए एक नया रिकॉर्ड बनाने का काम किया है लेकिन मैं इसे कई रिकॉर्ड के लिए कैसे कर सकता हूं।नियंत्रक को एमवीसी पास व्यूबैग

उत्तर

12

यहां व्यूबैग का उपयोग करने का एक त्वरित उदाहरण है। मैं आपके बाध्यकारी करने के लिए एक मॉडल स्विचिंग और उपयोग करने की सलाह दूंगा। यहां पर एक महान लेख है। Model Binding

विधि प्राप्त करें:

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

एचटीएमएल:

@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> 
} 
संबंधित मुद्दे