我正在使用一個對象但在對象內部我有一個屬性是對象列表。我想通過該對象與其中的列表對象,但列表是空的,當我提交我的表單。 我不知道如何處理這個。使用MVC Razor傳遞列表對象
類
public class VSTAttendance
{
public int MemberID { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public bool Attendant { get; set; }
}
public class ServiceAttendance
{
public int AttendanceID { get; set; }
public int AttendanceTypeID { get; set; }
public string AttendanceType { get; set; }
public DateTime Service { get; set; }
public int ServiceID { get; set; }
public string Speaker { get; set; }
public string Location { get; set; }
public int HeadCount { get; set; }
public int CategoryID { get; set; }
public string Description { get; set; }
public string ChurchNotes { get; set; }
public string ServingNotes { get; set; }
public DateTime DateCreated { get; set; }
public DateTime CreatedBy { get; set; }
public DateTime DateUpdate { get; set; }
public DateTime UpdateBy { get; set; }
public List<VSTAttendance> MemberAttendance { get; set; }
}
HTML
@using (Html.BeginForm("Attendance", "Home", FormMethod.Post, new { ReturnUrl = ViewBag.ReturnUrl, @class = "form-horizontal", role = "form" }))
{
<div class="form-group">
<label for="inputSpeaker" class="col-sm-2 control-label">
Speaker</label>
<div class="col-sm-6">
@Html.TextBoxFor(m => m.Speaker, new { @class = "form-control", placeholder = "Speaker", type = "text", required = "required " })
</div>
</div>
<table class="table table-bordered table-condensed table-hover">
<tr class="warning">
<td></td>
<td>Name</td>
<td>Surname</td>
</tr>
@foreach (var item in Model.MemberAttendance)
{
<tr>
<td>@Html.CheckBox("Attendant")</td>
<td>@item.Name</td>
<td>@item.Surname</td>
</tr>
}
</table>
<div class="form-group">
<div class="col-sm-10">
<button type="submit" class="btn btn-info">
<span class="glyphicon glyphicon-ok"></span>Submit</button>
</div>
</div>
}
爲什麼我需要使用HiddenFor?它的目的是什麼? – Gericke
考慮在你的循環中使用局部視圖,會讓你的代碼更清潔。 –
這幫了我。此外,我的對象是一個ICollection,我必須將其更改爲List,以便模型正確傳回控制器。 –