2010-09-13 75 views
0

我正在使用以下EditorTemplate确保datepicker为日期字段启用;网格中的MVC日期选择器

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

然而,日期是在部分视图下面的视图;

 <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> 

局部视图看起来像这样,

<tr> 
     <td><%: Model.T.BankHolidayDescription%></td> 
     <td><%: Html.EditorFor(model => model.BH.NullableBankHolidayDate)%></td> 
     <td><%: Html.EditorFor(model => model.BH.BankHolidayComment)%></td> 
    </tr> 

的问题是,该日期字段具有用于每行相同的ID。因此,当您在第x行输入日期时,它仅更新第1行的日期。 如何解决此问题,以便更新正确的行?

回答

0

你能不能做这样的事情:

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

,而是发送编辑只是日期,你送他的日期和bankID型号:

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

我假设你有某种ID在您的BANK假期(bankID,bankHolidayID)模型中。对不起,我不擅长ASP.NET MVC ..