我一直试图让DropDownList工作:
我的控制器代码如下:
public ActionResult Register()
{
var teams = new List<Team>();
using (var context = new TouristContext())
{
teams = (from x in context.Teams select x).ToList();
}
var model = new RegisterViewModel()
{
Teams = new SelectList(teams, "Value", "Text")
};
return View(model);
}
我的DropDownListFor()
代码如下:
<div class="form-group">
@Html.LabelFor(m => m.Teams, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.DropDownListFor(m => m.SelectedTeamId, Model.Teams, "Value", "Text")
</div>
</div>
当我尝试访问该页面时,我收到错误:
由于已经处理了DbContext,因此无法完成操作。
我理解错误,但我不知道如何克服它。
答案 0 :(得分:0)
事实证明它失败的原因是因为我没有任何名为Value
和Text
的内容!
我的属性为Id
和Name
,因此我将代码更改为:
public ActionResult Register()
{
var teams = new List<Team>();
using (var context = new TouristContext())
{
teams = (from x in context.Teams select x).ToList();
}
var model = new RegisterViewModel()
{
Teams = new SelectList(teams, "Id", "Name")
};
return View(model);
}
现在一切正常。