我是网络新手,真的很困难。我需要使用ASP.NET和Entity Framework制作QuizSystem。我首先使用数据库,我有这样的表
并且
我试图创建问题的创建视图,但问题是问题使用一些已经变为Variant作为答案,我只需要从下拉列表中选择它。
[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,帮我提一些建议或任何有助于解决这个问题的东西。
答案 0 :(得分:0)
我认为你的桌面设计需要一些调整。尝试更改您的问题模型.AnswerId to =>
public virtual ICollection<QuestionVariants> QuestionVariants{ get; set; }
将Question属性添加到QuestionVariant并将ForeignKey属性应用于此。
[ForeignKey("QuestionId")]
public Question Question { get; set; }
此外,您还可以阅读&#39; ForeignKey&#39;和“一对多”&#39; this tutorial的部分。