我有一个来自EF的课程。
public partial class Customer
{
public Customer()
{
this.Customer_CustomerSpecialConcern = new HashSet<Customer_CustomerSpecialConcern>();
}
public int Id { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public string Email { get; set; }
public string Mobile { get; set; }
public virtual ICollection<Customer_CustomerSpecialConcern> Customer_CustomerSpecialConcern { get; set; }
}
当我从控制器传递模型到视图时,一切正常(可以访问Customer_CustomerSpecialConcern
值)。
问题是当我将模型发布回控制器以保存更改时,属性Customer_CustomerSpecialConcern
为空。
以下是我在视图中使用它的方法。
@foreach (var ccsc in Model.Customer_CustomerSpecialConcern)
{
<div class="form-group fields-container col-md-3">
<label class="field-label control-label col-md-10" for="">@ccsc.CustomerSpecialConcern.Title</label>
<div class="col-md-1 field-input">
@Html.EditorFor(model => ccsc.Value)
@Html.HiddenFor(model => ccsc.Value)
</div>
</div>
}
请,我需要帮助才能将此集合属性的值获取给控制器。谢谢。
更新 - Customer_CustomerSpecialConcern课程详情
public partial class Customer_CustomerSpecialConcern
{
public int Id { get; set; }
public int Customer_Id { get; set; }
public int CustomerSpecialConcern_Id { get; set; }
public bool Value { get; set; }
public virtual Customer Customer { get; set; }
public virtual CustomerSpecialConcern CustomerSpecialConcern { get; set; }
}
答案 0 :(得分:2)
请试试这个,
@for (int i = 0; i < Model.Customer_CustomerSpecialConcern.Count(); i++)
{
<div class="form-group fields-container col-md-3">
<label class="field-label control-label col-md-10" for="">@Model.CustomerSpecialConcern[i].Title</label>
<div class="col-md-1 field-input">
@Html.EditorFor(model => model.Customer_CustomerSpecialConcern[i].Value)
@Html.HiddenFor(model => model.Customer_CustomerSpecialConcern[i].Value)
</div>
</div>
}
查看this文章。
我试过你的例子,这就是它的样子
public ActionResult Index()
{
var customer = new Customer
{
Name = "Name",
Surname = "Surname",
Email = "email@email.com",
Mobile = "mobile...",
Customer_CustomerSpecialConcern = new List<Customer_CustomerSpecialConcern>
{
new Customer_CustomerSpecialConcern
{
Value = true
},
new Customer_CustomerSpecialConcern
{
Value = true
}
}
};
return View(customer);
}
查看:
@model WebApplication1.Models.Customer
@{
ViewBag.Title = "Customer";
var customer_CustomerSpecialConcern = Model.Customer_CustomerSpecialConcern.ToList();
}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
for (int i = 0; i < Model.Customer_CustomerSpecialConcern.Count(); i++)
{
<div class="form-group fields-container col-md-3">
<label class="field-label control-label col-md-10" for=""></label>
<div class="col-md-1 field-input">
@Html.CheckBoxFor(model => customer_CustomerSpecialConcern[i].Value)
</div>
</div>
}
<input type="submit" value="Save"/>
}