我有一个名为Person的实体,它有一个颜色列表。颜色有名称和活动字段。当我编辑一个人时,我希望能够编辑附加到他们的颜色。我在剃须刀视图中无法做到这一点 - 因为我遇到了错误。
@model InterviewTest.Domain.Entities.Person
@{
ViewBag.Title = "Edit";
}
<h2>Edit</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Person</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.PersonId)
<div class="form-group">
@Html.LabelFor(model => model.IsAuthorised, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="checkbox">
@Html.EditorFor(model => model.IsAuthorised)
@Html.ValidationMessageFor(model => model.IsAuthorised, "", new { @class = "text-danger" })
</div>
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.IsEnabled, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="checkbox">
@Html.EditorFor(model => model.IsEnabled)
@Html.ValidationMessageFor(model => model.IsEnabled, "", new { @class = "text-danger" })
</div>
</div>
</div>
我试图尝试这样做 - 但没有工作。
<h2>Favourite Colours</h2>
@foreach(var item in Model.Colours)
{
<div class="form-group">
@Html.LabelFor(item.Name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="checkbox">
@Html.EditorFor(item.IsEnabled)
@Html.ValidationMessageFor(model => model.IsEnabled, "", new { @class = "text-danger" })
</div>
</div>
</div>
}
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
答案 0 :(得分:0)
语法错误。它在以下div中不完整
<div class="checkbox">
@Html.EditorFor**(item.)**
@Html.ValidationMessageFor(model => model.IsEnabled, "", new { @class = "text-danger" })
</div>
而是使用 item.Name
答案 1 :(得分:0)
请确保Color类中的属性是否全部公开以及isEnabled属性是否存在。
查看您的代码,似乎IsAuthorised和IsEnabled属性可用于模型,即Person实体。
但是在Model.Colours的forearch项目中,你试图将IsEnabled用于一个项目,在这种情况下它是Color实体。
答案 2 :(得分:0)
您是否缺少LabelFor和EditorFor中的lambda表达式?你在其他地方使用它。
@Html.EditorFor(model => model.IsAuthorised)