J'utilise le EditorTemplate suivant qui s'assure que l'outil datepicker est activé pour les champs de date;MVC datepicker dans une grille
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>
<%:Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" }) %>
Cependant, la date est dans la vue partielle suivante;
<fieldset>
<legend>Enter the bank holidays here:</legend>
<table>
<tr>
<th>Bank Holiday</th>
<th>Date</th>
<th>Notes</th>
</tr>
<% foreach (var bankHolidayExtended in Model.BankHolidays)
{ %>
<% Html.RenderPartial("BankHolidaySummary", bankHolidayExtended); %>
<% } %>
<tr>
<td align="center" colspan="3" style="padding-top:20px;"><input type="submit" value="Submit" /></td>
</tr>
</table>
</fieldset>
La vue partielle ressemble à ceci,
<tr>
<td><%: Model.T.BankHolidayDescription%></td>
<td><%: Html.EditorFor(model => model.BH.NullableBankHolidayDate)%></td>
<td><%: Html.EditorFor(model => model.BH.BankHolidayComment)%></td>
</tr>
Le problème est que le champ Date a le même ID pour chaque ligne. Ainsi, lorsque vous entrez une date sur la ligne x, elle ne met à jour que la date sur la ligne 1. Comment résoudre ce problème afin de mettre à jour la ligne correcte?