次の MVC3 モデルがあります。
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; }
}
}
リスト項目の値はコントローラーで定義されており、値をデータベースに保存するために送信が押されたときにドロップダウンリストがビューに正常に表示されます。次のエラーが表示されます。
この問題を解決する方法を知っている人はいますか?
このチュートリアルに基づいています http://codeoverload.wordpress.com/2011/05/22/dropdown-lists-in-mvc-3/
ありがとう
編集 以下の提案に従って、このエラーが発生しました: タイプ 'System.Collections.Generic.List' を 'System.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;
}
}
}
私はMVC3に非常に慣れていないので、どんな助けも感謝しますありがとう!