У меня есть следующий MVC3 модель:MVC3 DropDownList Code First
public class Dine
{
[Key]
[Display(Name = "Table Number")]
public string TableNumber { get; set; }
public List<SelectListItem> TableSelections { get; set; }
[Display(Name = "Table Date")]
[Required(ErrorMessage = "Please enter a date")]
public DateTime Date { get; set; }
}
}
элементы списка значения, определенные в контроллере и DropDownList отображается штрафом в представлении только при Представлять нажатие на сохранить значение в базе данных. Я получаю следующую ошибку:
Кто-нибудь знает, как исправить эту проблему?
Он основан на этом учебнике http://codeoverload.wordpress.com/2011/05/22/dropdown-lists-in-mvc-3/
Благодарности
EDIT Я следовал предложения от ниже, и получить эту ошибку: Не удается преобразовать тип «System.Collections.Generic.List» к «системе. Web.Mvc.SelectList»
Это то, что у меня есть, на мой взгляд:
<td>@Html.DropDownListFor(model => model.TableSelection, (SelectList)ViewBag.Tables)</td>
Это то, что у меня есть в моей модели
public class Dine
{
[Key]
[Display(Name = "Table No")]
public int TableNo { get; set; }
public string TableOption { get; set; }
[Display(Name = "Table Date")]
[Required(ErrorMessage = "Please enter a date")]
public DateTime Date { get; set; }
}
}
Это мой контроллер:
public class RestaurantController : Controller
{
TheDatabaseEntities db = new TheDatabaseEntities();
//
// GET: /Dine/
public ActionResult Index()
{
ViewBag.Tables = GetTableOptions();
return View();
}
[HttpPost]
public ActionResult Index(Restaurant model)
{
if (ModelState.IsValid)
{
return RedirectToAction("AddBookingComplete");
}
ViewBag.Tables = GetTableOptions();
return View(model);
}
public ActionResult BookingComplete()
{
return View();
}
private List<Restaurant> GetTableOptions()
{
List<Restaurant> Tables = new List<Restaurant>();
Table.Add(new Dine() { TableNumber = 1, TableSelection = "Table 1" });
Table.Add(new Dine() { TableNumber = 2, TableOSelection = "Table" });
Table.Add(new Dine() { TableNumber = 3, TableSelection = "Table" });
Tables.Add(new Dine() { TableNumber = 4, TableSelection = "Table" });
return Table;
}
}
}
Любая помощь appriciated как я очень новый MVC3 Спасибо!
Спасибо за ответ, как мне сделать это в режиме просмотра? извините, что я очень новичок в MVC – user1302054
@ user1302054 - вы этого не делаете.Это точка –