这是这个问题的后续问题: ASP.NET MVC Entity Framework CodeFirst Many To Many (CRUD)
我有完全相同的问题。 (顺便说一下:我在使用ASP.NET WebForms之后学习了MVC)
(我需要提出一系列问题,因为我还没有50个代表来添加评论。)
该问题的接受答案是在查询代码中添加一行代码""提问者说它有效。
我的创建方法是:
public ActionResult Create() {
db.Students.Include(s => s.Courses);
return View();
}
我的创建视图是我创建控制器时脚手架引擎生成的内容:
@model CodeTest.Models.Course
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Course</h4>
<hr />
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Location, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Location)
@Html.ValidationMessageFor(model => model.Location)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Teacher, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Teacher)
@Html.ValidationMessageFor(model => model.Teacher)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
我的第一个想法是:提问者还做了什么呢?#34;刚刚工作&#34;?
这提出了一系列问题: 1.查询代码中的&#34;在哪里?#34;。它在控制器的create方法中吗?我试过了(见上文)并且它没有用。
通过添加这一行代码,脚手架屏幕上是否显示下拉框?是否需要重新加载?如果是这样,那怎么办?
是否还需要将任何其他内容添加到创建和编辑视图中以允许用户为此多对多关系设置值?
答案 0 :(得分:1)
对创建视图没有任何作用。
这句话甚至没有意义。数据上下文不会创建cshtml
个文件。
通过添加这一行代码,脚手架屏幕上是否显示下拉框?是否需要重新加载?如果是这样,那怎么办?
由于没有提供查看代码,因此无法回答此问题。此外,您不会将任何数据传递给视图以供使用。
是否还需要将任何其他内容添加到创建和编辑视图中以允许用户为此多对多关系设置值?
您需要使用代码来保存这些值。