2013-12-13 7 views
11

के साथ मैं नियंत्रक में परिभाषित व्यूबैग के साथ DropDownListFor सहायक को बाध्य करने की कोशिश कर रहा हूं। लेकिन मुझे त्रुटि मिल रही है।बाइंड ड्रॉपडाउनसूची व्यूबैग

कोड दृश्य: -

@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as SelectListItem)) 

नियंत्रक कोड: -

public ActionResult Create() 
> { 
> var content = from p in db.Currency 
>     where p.IsActive == true 
>     orderby p.CurrencyName 
>     select new { p.CurrencyID, p.CurrencyCode }; 
> 
> var x = content.ToList().Select(c => new SelectListItem   
>       { 
>        Text = c.CurrencyCode, 
>        Value = c.CurrencyID.ToString(), 
>        Selected = (c.CurrencyID == 68) 
>       }).ToList(); 
>    ViewBag.CurrencyList = x; 
> 
>    return View();    
>   } 

त्रुटि प्राप्त: - System.Web.Mvc.HtmlHelper 'शामिल नहीं है 'DropDownListFor' और सर्वोत्तम एक्सटेंशन विधि अधिभार 'System.Web.M के लिए एक परिभाषा vc.Html.SelectExtensions.DropDownListFor (System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>, System.Collections.Generic.IEnumerable) 'में कुछ ऐसी अमान्य तर्क

+0

करने के लिए आप DropDownList के लिए एक एकल selectListItem असाइन नहीं कर सकते की जरूरत है। ViewBag.CurrencyList SelectListItem के रूप में, यहां आपको एक चयन सूची या एक सूची या संख्यात्मक आइटम की आवश्यकता है। तो आईनेमेरेबल काम किया। बस अगर आप जानना चाहते थे। – Sakthivel

उत्तर

23

आप को बदलने के लिए

@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as SelectListItem)) 

@Html.DropDownListFor(model => model.CurrencyID, ViewBag.CurrencyList as IEnumerable<SelectListItem>) 
+1

बहुत बहुत धन्यवाद। यह काम करता हैं। – Karan

5

तुम भी ऐसा कर सकते हैं है। यह काम करना चाहिए:

ViewBag.CurrencyID = x; 

और ध्यान में रखते हुए:

@Html.DropDownListFor(model => model.CurrencyID, null) 

आशा इस मदद करता है!

संबंधित मुद्दे