我有一个控制器:
[HttpPost]
public ActionResult Create(Auction auction)
{
var db = new EbuyDataContext();
db.Auctions.Add(auction);
db.SaveChanges();
return View(auction);
}
Run Code Online (Sandbox Code Playgroud)
一个模型:
public class Auction
{
public long Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public decimal StartPrice { get; set; }
public decimal CurrentPrice { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }}
}
Run Code Online (Sandbox Code Playgroud)
并且观点:
@model Ebuy.Website.Models.Auction
@using (Html.BeginForm())
{
<p>
//All …Run Code Online (Sandbox Code Playgroud) 我有一个模特:
public class Auction
{
public string Title { get; set; }
public string category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和控制器:
[HttpGet]
public ActionResult UserForm()
{
var categoryList = new SelectList(new[] { "auto", "elec", "games", "Home" });
ViewBag.categoryList = categoryList;
return View();
}
Run Code Online (Sandbox Code Playgroud)
在视图中我有以下几行:
<div class="editor-field">
@Html.DropDownListFor(model =>
model.category,(SelectList)ViewBag.categoryList)
@Html.ValidationMessageFor(model => model.category)
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试保存表单时遇到的错误是:
没有类型为"IEnumerable"的ViewData项具有键"类别".描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.InvalidOperationException:没有类型为"IEnumerable"的ViewData项具有键"类别".
我不明白是什么问题,因为我做了(或尝试过)本指南中所做的一切:https: //www.youtube.com/watch?v = 7HM6kDBj0vE
该视频也可以在此链接中找到(第6章 - 自动绑定到请求中的数据):http: //www.lynda.com/ASPNET-tutorials/ASPNET-MVC-4-Essential-Training/109762-2. HTML