Como representar um mês de caixas de seleção em um modelo MVC
Não consigo entender como usar o MVC para criar a tabela a seguir e vinculá-lo com êxito a um modelo:
Basicamente, preciso acompanhar quais dias do mês um evento precisa acontecer. Aqui está minha tentativa de um modelo:
EDITAR: Não é por um mês, mas por um ciclo arbitrário de quatro semanas
public class ScheduleViewModel
{
public int PatientId { get; set; }
public List<Schedule> Schedules { get; set;}
}
public class Schedule {
public int Week { get;set;}
public Day Day { get;set;}
public bool IsSelected { get;set;}
}
public enum Day
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
E posso renderizar uma visualização com êxito (que não está vinculada ao modelo). Sei que precisaria usar @ html.CheckBoxFor no local em minhas entradas.
Aqui está uma cópia aproximada do meu html para a visualização:
@model WebApplication10.Models.ScheduleViewModel
@using (Html.BeginForm())
{
<table class="table table-striped">
<thead>
<tr>
<th></th>
@{
foreach (Day t in Enum.GetValues(typeof(Day)))
{
<th>@t</th>
}
}
</tr>
</thead>
<tbody>
@{
for (int i = 1; i <= 4; i++)
{
<tr>
<td>Week @i</td>
@foreach (Day t in Enum.GetValues(typeof(Day)))
{
<td><input type="checkbox" /></td>
}
</tr>
}
}
</tbody>
</table>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
}
Como eu publicaria com êxito quais caixas de seleção foram selecionadas? Meu ViewModel faz sentido?