В ListView у меня есть CustomValidator, настроенный для проверки поля всякий раз, когда нажимается кнопка с CommandName = "Delete".
<ItemTemplate>
<asp:TextBox ID="NameTextBox" Text=<%# Eval("Name") %> runat="server" />
<asp:Button ID="DeleteButton" Text="Delete" CommandName="Delete" ValidationGroup="Delete" runat="server" />
<asp:CustomValidator ValidationGroup="Delete" SetFocusOnError="true" Display="Dynamic" OnServerValidate="CustomValidator_ServerValidate" runat="server">You can't delete this.</asp:CustomValidator>
</ItemTemplate>
Однако сообщение об ошибке никогда не отображается и обработка продолжается.Странно то, что пользовательский метод проверки вызывается, находит поле и правильно устанавливает для e.IsValid значение false.Не имеет значения, проверяю ли я Page.IsValid или нет, потому что сообщение об ошибке все равно не отображается.
Это работает, если я удаляю CommandName = "Delete" из кнопки.
СGoogle Я нашел следующее решение, которое, похоже, указывает на то, что у кого-то была похожая проблема:
http://devio.wordpress.com/2007/12/11/formview-delete-button-and-customvalidators/
Но я хочу убедиться, что это решение является подходящим.Я имею в виду, действительно ли пользовательская проверка не должна работать с кнопкой удаления в элементе управления с привязкой к данным, серьезно?