`//View <tr><td>Experience level</td><td><div class="editor-field">
<%: Html.DropDownListFor(model => model.ExperienceLevelID, (SelectList)ViewData["Experience"], "--select--")%>
<%: Html.ValidationMessageFor(model => model.ExperienceLevelID) %>
</div></td></tr>`<tr><td>Size of Company</td><td><div class="editor-field">
<%: Html.DropDownList("Value", (SelectList)ViewData["size"], "--select--")%>
public ActionResult Create()//Controller
{
ViewBag.mode = "create";IExperienceLevelRepository expLevelResp = new ExperienceLevelRepository();
IQueryable<ExperienceLevel> expLevel = expLevelResp.GetAllExperienceLevels().OrderBy(ExperienceLevel => ExperienceLevel.Name);
ViewData["Experience"] = new SelectList(expLevel, "ID", "Name");
IEnumerable<SelectListItem> companySizes = new List<SelectListItem>
{
new SelectListItem
{
Text = "Large Company",
Value = "large"
}
};
ViewData["size"] = new SelectList(companySizes, "Value", "Text");
return View();
}
以上下拉列表正常工作的计算机[“经验”】但它不与大小的作品,我必须手动硬编码的大小的下拉列表和经验下拉列表从数据库填充。我得到的大小dropdownlist的错误是:没有类型'IEnumerable'具有关键'值'的ViewData项目。问题与DropDownList的MVC中
任何帮助或建议将不胜感激。
如果我想运行一个循环,比如我想从0下拉显示值200 – 2011-06-14 12:53:48
@Muhammad AWAIS,在控制器动作简单地分配'大小= Enumerable.Range(1, 200).Select(x => new SelectListItem {Value = x.ToString(),Text =“Size”+ x})'。 – 2011-06-14 12:56:39
thnx .. nd关于httppost我可以通过if(ModelState.IsValid) {trackdayResp.Add(trackday); trackdayResp.Save();} – 2011-06-14 12:59:03