C# ASP.NET实体框架制作小测验
我是网络新手,真的被卡住了。我需要使用ASP.NET和实体框架制作QuizSystem。我首先使用数据库,我有这样的表 及 我正在尝试为问题创建视图,但问题是使用一些已经生成的变量作为答案,我只需要从下拉列表中选择它C# ASP.NET实体框架制作小测验,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我是网络新手,真的被卡住了。我需要使用ASP.NET和实体框架制作QuizSystem。我首先使用数据库,我有这样的表 及 我正在尝试为问题创建视图,但问题是使用一些已经生成的变量作为答案,我只需要从下拉列表中选择它 [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "Text,AnswerID,ChapterID")] QuestionVariant questi
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Text,AnswerID,ChapterID")] QuestionVariant questionVariant)
{
if (ModelState.IsValid)
{
db.QuestionVariants.Add(questionVariant);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.ChapterID = new SelectList(db.Chapters, "ChapterID", "ChapterName", questionVariant.ChapterID);
ViewBag.AnswerID = new SelectList(db.Variants, "VariantID", "Text", questionVariant.AnswerID);
return View(questionVariant);
}
是否可以在同一视图中创建问题和变体?如果是这样,控制器和视图应该是什么样子?不要只放-1,帮我提一些建议或任何有助于解决这个问题的东西。我认为您的桌子设计需要一些调整。尝试将您的问题模型更改为=>
public virtual ICollection<QuestionVariants> QuestionVariants{ get; set; }
此外,您还可以阅读的“ForeignKey”和“一对多”部分。QuestionVariants表示问题的答案?@Nico yes问题的可能答案您在问什么?当然你可以把它们放在同一个视图中。。。您已经展示了您的POST方法处理程序,视图将发送到哪里?ViewModels是您的朋友。创建一个单独的类(viewmodel)并包含要显示的字段(来自任何源),包括DropDownList值。例子
[ForeignKey("QuestionId")]
public Question Question { get; set; }