Я пытаюсь изучить MVC2, C # и Linq для всех сущностей в одном проекте (да, я безумен), и у меня возникают некоторые проблемы с DropDownListFor и передачей ему SelectList.
Это код в моем контроллере:
public ActionResult Create()
{
var Methods = te.Methods.Select(a => a);
List<SelectListItem> MethodList = new List<SelectListItem>();
foreach (Method me in Methods)
{
SelectListItem sli=new SelectListItem();
sli.Text = me.Description;
sli.Value = me.method_id.ToString();
MethodList.Add(sli);
}
ViewData["MethodList"] = MethodList.AsEnumerable();
Talkback tb = new Talkback();
return View(tb);
}
и у меня проблемы с попыткой заставить DropDownListFor
взять MethodList
в ViewData
. Когда я пытаюсь:
<%:Html.DropDownListFor(model => model.method_id,new SelectList("MethodList","method_id","Description",Model.method_id)) %>
Ошибка со следующим сообщением
DataBinding: 'System.Char' does not contain a property with the name 'method_id'.
Я знаю, почему это так, поскольку он принимает MethodList
в качестве строки, но я не могу понять, как заставить его взять SelectList
. Если я делаю следующее с нормальным DropDownList
:
<%: Html.DropDownList("MethodList") %>
Это вполне устраивает.
Может кто-нибудь помочь?