[英]Inserting DropDownList value in db
我在db中插入dropdownlist的選定值,但在dropdownlist助手所在的視圖中卻給了我錯誤。 沒有類型為“ IEnumerable”的ViewData項目具有鍵“ SpaceType”。 模型:
public class AddSpace
{
public string SpaceType { get; set; }
}
視圖:
@Html.DropDownListFor(m => m.SpaceType, (IEnumerable<SelectListItem>)ViewData["property"])
控制者
[HttpGet]
public ActionResult AddSpace()
{
List<SelectListItem> items = new List<SelectListItem>();
items.Add(new SelectListItem { Text = "Private Residence", Value = "Private Residence" });
items.Add(new SelectListItem { Text = "Office", Value = "Office" });
items.Add(new SelectListItem { Text = "Place of worship", Value = "Place of worship" });
items.Add(new SelectListItem { Text = "Commercial Parking lot", Value = "Commercial Parking lot" });
items.Add(new SelectListItem { Text = "Retail", Value = "Retail" });
items.Add(new SelectListItem { Text = "Academic Institution", Value = "Academic Institution" });
items.Add(new SelectListItem { Text = "Other", Value = "Other" });
ViewData["property"] = items;
}
[HttpPost]
public ActionResult AddSpace(AddSpace adspace)
{
if (ModelState.IsValid)
{
string userName = "wasfa_anjum@yahoo.com";
var query = from q in Session.Query<Registration>()
where q.Email == userName
select q;
Session.Store(adspace);
Session.SaveChanges();
}
else ModelState.AddModelError("","Please Correct the errors to continue");
return View();
}
您是否嘗試過[更新]:
@Html.DropDownList("SpaceTypes", ViewData["property"] as SelectList)
此外,之后:
items.Add(new SelectListItem { Text = "Other", Value = "Other" });
您可能需要添加:
items.Add(new SelectListItem { Text = "Other", Value = "Other" }, "Text", "Value", 1);
[添加](可選),您應該也可以像這樣編寫它:
var items = new SelectList(new[]
new { Text = "Private Residence", Value = "Private Residence" },
new { Text = "Office", Value = "Office" },
new { Text = "Place of worship", Value = "Place of worship" },
new { Text = "Commercial Parking lot", Value = "Commercial Parking lot" },
new { Text = "Retail", Value = "Retail" },
new { Text = "Academic Institution", Value = "Academic Institution" },
new { Text = "Other", Value = "Other" },
"Text", "Value", 1);
ViewData["property"] = items;
投射到列表:
@Html.DropDownListFor(m => m.SpaceType, (List<SelectListItem>)ViewData["property"])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.