Похоже, что ваша проблема произошла, потому что вы помещаете @Html.TextBoxFor()
помощники в цикл foreach с предопределенным параметром @id = "SupplierDate"
, который отображает все соответствующие текстовые поля с одинаковым атрибутом id
вместо уникальных имен идентификаторов.Следовательно, вы должны попытаться использовать цикл for
и индекс коллекции TrimsData
при удалении определения атрибута id
(пусть помощник создает уникальные значения атрибута id
):
@for (int i = 0; i < TrimsData.Count; i++)
{
<tr class="TrimGridFields">
<td>
<input type="checkbox" class="singleTrimGridCheck" value="@TrimsData[i].GridTranId">
</td>
<td>@TrimsData[i].SerialNumber</td>
<td>@TrimsData[i].GridOrderDate</td>
<td>@TrimsData[i].GridSyleNo</td>
<td>@TrimsData[i].GridItemName</td>
<td>@TrimsData[i].GridItemCode</td>
<td>@TrimsData[i].GridStoreName</td>
<td>@TrimsData[i].GridSupplierName</td>
<td>@TrimsData[i].GridOrderQty</td>
<td>@TrimsData[i].GridUnitName</td>
<td>@TrimsData[i].GridUnitPrice</td>
<td>@TrimsData[i].GridDeliveryDate</td>
<td>@TrimsData[i].GridRemarks</td>
<td>
@Html.TextBoxFor(m => m.TrimsData[i].SupplierDate, new {@class = "form-control datepicker", @placeholder = "Supplier Date" })
</td>
<td>
@Html.TextBoxFor(m => m.TrimsData[i].RevisedDate, new {@class = "form-control datepicker", @placeholder = "Revised Date" })
</td>
<td>
@Html.TextBoxFor(m => m.TrimsData[i].InHouseDate, new {@class = "form-control datepicker", @placeholder = "In House Date" })
</td>
</tr>
}
Или, если у вас есть другойTrimsData
свойство, которое имеет уникальное значение, установите значения идентификатора текстового поля с этим свойством, как в примере ниже:
@Html.TextBoxFor(m => m.SupplierDate, new {@class = "form-control datepicker", @placeholder = "Supplier Date", @id = trimsData.Id })
Связанная проблема:
JQuery Datepicker для нескольких входных данных .NET MVCПоля не работают