【发布时间】:2013-12-07 17:45:55
【问题描述】:
您好,我还是 MVC4 的新手,我想使用 HTML 助手创建一个选择框,允许用户使用 CTRL 单击选择多个项目并使用 EF 存储结果。这是我的看法
@model AtomicQuestionnaire.Models.Questionnaire
@{
ViewBag.Title = "Create";
}
@{
var ListInterest = new List<SelectListItem>()
{
new SelectListItem(){Value="Stamp Collecting",Text="Stamp Collecting"},
new SelectListItem(){Value="Listening to Music",Text="Listening to Music"},
new SelectListItem(){Value="Reading",Text="Reading"}
};
}
<h2>Create</h2>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.Interest)
</div>
<div class="editor-field">
@Html.ListBoxFor(model => model.Interest, ListInterest, new { size = "15", Multiple = "multiple" })
@Html.ValidationMessageFor(model => model.Interest)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
这是我的模型
public class Questionnaire
{
public int ID { get; set; }
public string Name { get; set; }
public string City { get; set; }
public string VisitorDesc { get; set; }
public string Interest { get; set; }
public int SiteRating { get; set; }
}
和我的控制器用于创建操作
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Questionnaire questionnaire)
{
if (ModelState.IsValid)
{
db.Questionnaires.Add(questionnaire);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(questionnaire);
}
我只能将 html 选择框的第一项存储到数据库中。你能告诉我我做错了什么吗?我想将所有选定的项目存储到数据库中。谢谢
【问题讨论】:
-
不应该是您处理的问卷的集合,而不仅仅是一个对象吗?
-
感谢任何建议/更正,因为我对 .Net 世界还很陌生。谢谢。
-
试试看这个:stackoverflow.com/questions/18104110/… 看看它是否能有所启发:)
标签: c# asp.net-mvc entity-framework asp.net-mvc-4 selection