我有一个名为TestAnswer的表和一个名为问题的表
这是Entity Framework创建的创建脚本。我添加了一些viewbags
ViewBag.TestAnswerQuestion将问题表中的值作为选择列表。我想将它们显示为普通文本,例如TestAnswer的剃刀视图中的@ Html.DisplayFor(model => model.QuestionText)
如何在TestAnswer创建视图中显示问题
// GET:/ TestAnswer / Create public ActionResult Create()
{
ViewBag.CurrentTestUser = User.Identity.Name;
ViewBag.CurrentTestUserId = User.Identity.GetUserId();
**ViewBag.TestAnswerQuestion = new SelectList(db.Questions.Where(t => t.QuestionID == 2), "QuestionID", "QuestionText");**
ViewBag.TestAnswerTestID = new SelectList(db.Tests, "TestID", "TestUser");
return View();
}
答案 0 :(得分:0)
从Controller操作方法返回时,您似乎需要将模型传递回View。
如果我理解正确,您希望将Question实体返回到TestAnswer / Create视图,可能是这样的:
var model = db.Questions.Find(t.QuestionID);
...
return View(model);
然后您可以从视图模板中引用模型:
@Html.DisplayFor(model => model.QuestionText)
如果您想显示问题的答案的选择列表,您的问题实体可以将答案实体的集合作为公共属性,然后您可以简单地从问题导航到其答案。
我能给你的最好的建议是仔细考虑实体及其关系,并将它们建模为POCO类。根据您要实现的目标,您可能需要返回视图模型,何时将实体模型转换为针对视图优化的另一种形式。