9

में मुझे एक बहुत ही साधारण समस्या है जिसमें एक समाधान है जिसे मैं नहीं ढूंढ पा रहा हूं। ,ड्रॉपडाउन लिस्ट प्राप्त करने में परेशानी संपादक पर काम करने के लिए MVC3

@Html.DropDownListFor(m => m.State, Model.States) 

हालांकि, अगर मैं एक संपादक टेम्पलेट में इस खींचने की कोशिश ("selectList" नाम):

public class InfoViewModel 
{ 
    public SelectList States { get; set; } 

    [DisplayName("State")] 
    public string State { get; set; } 
} 

निम्नलिखित मेरे विचार में ठीक काम करता है:

निम्नलिखित मॉडल को देखते हुए जैसे:

@model System.String 
@Html.DropDownListFor(m => m, ViewData["selectList"]) 

और फिर ड्रॉपडाउन सूची का निर्माण करने के EditorFor का उपयोग करें:

@Html.EditorFor(m => m.State, "SelectList", new { selectList = Model.States }) 

यह निम्न त्रुटि के साथ विफल:

'System.Web.Mvc.HtmlHelper<string>' does not contain a definition for 
'DropDownListFor' and the best extension method overload 
'System.Web.Mvc.Html.SelectExtensions.DropDownListFor<TModel,TProperty> 
(System.Web.Mvc.HtmlHelper<TModel>, 
System.Linq.Expressions.Expression<System.Func<TModel,TProperty>>, 
System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>)' 
has some invalid arguments 

मैं एक कठिन समय इन दोनों के बीच अंतर को समझने आ रही है। मैंने समस्या निवारण के लिए विभिन्न कामकाज की कोशिश की है, और या तो एक ही त्रुटि, या कुछ और मिलता है।

अग्रिम धन्यवाद।

@Html.DropDownListFor(m => m, ViewData["selectList"]) 

DropDownListFor सहायक बासी के दूसरे पैरामीटर SelectList हो:

+0

धन्यवाद ..., अपने quetion उपयोगी के लिए मेरा उत्तर /// –

उत्तर

10

ऐसी कोई अधिभार नहीं है। तो:

@Html.DropDownListFor(m => m, (SelectList)ViewData["selectList"]) 
+0

धन्यवाद, डैरिन के रूप में, कि वास्तव में यह था कर रहे हैं। मुझे यह महसूस करना चाहिए था। –

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

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