2010-09-13 6 views
0

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?

Répondre

0

Pouvez-vous faire quelque chose comme ceci:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BankHolidays>" %> <%:Html.TextBox("", (Model.HasValue ? Model.NullableBankHolidayDate.ToShortDateString() : string.Empty), new { @class = "datePicker" id = Model.BankID }) %> 

et envoi au lieu de l'éditeur que la date, vous lui avez envoyé Modèle avec date et BankID:

<td><%: Html.EditorFor(model => model.BH)%></td> 

Je suppose que vous avez une sorte de ID dans votre modèle BANK holiday (bankID, bankHolidayID). Désolé, je ne suis pas très bon à ASP.NET MVC ..

Questions connexes