Я занимаюсь разработкой веб-страницы в Asp.Net 1.1 и имею DataGrid, который позволяет пользователям добавлять, редактировать и удалять записи базы данных. Строка нижнего колонтитула содержит текстовые поля, позволяющие добавлять новые записи.
Для каждого столбца я определил элементы , и . Элементы FooterItemTemplate и EditItemTemplate в моей разметке aspx содержат как элементы управления RequiredFieldValidator, так и текстовые поля.
(см. ниже)
<asp:TemplateColumn HeaderText="Offer Code">
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.OfferCode") %>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewOfferCode" Runat="server" />
<asp:RequiredFieldValidator ID="reqNewOfferCode" ControlToValidate="txtNewOfferCode" Display="None" ErrorMessage="Please specify 'Offer Code'" Runat="server" />
</FooterTemplate>
<EditItemTemplate>
<asp:TextBox id=txtOfferCode Runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.OfferCode") %>' />
<asp:RequiredFieldValidator ID="reqOfferCode" ControlToValidate="txtOfferCode" Display="None" ErrorMessage="Please specify 'Offer Code'" Runat="server" />
</EditItemTemplate>
</asp:TemplateColumn>
Проблема, с которой я столкнулся, заключается в том, что при попытке редактировать существующую запись пустые поля в строке нижнего колонтитула препятствуют проверке и, следовательно, обратной передаче и обновлению выбранной строки.