Пользовательская проверка не работает с кнопками удаления? - PullRequest
0 голосов
/ 12 октября 2010

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

Но я хочу убедиться, что это решение является подходящим.Я имею в виду, действительно ли пользовательская проверка не должна работать с кнопкой удаления в элементе управления с привязкой к данным, серьезно?

1 Ответ

0 голосов
/ 16 октября 2010

Я уже слышал о такой проблеме, он решил ее, сделав это совершенно по-другому. Например, вместо customValidator он устанавливает набор меток EnableViewState = "False" и Visible = "False" , проверяет событие удаления условия и помещает ответ обратно в этикетка. Может быть, это не работает для вас тоже?

Но, если вы действительно спросите "Почему ?????", я знаю, что он не нашел точную причину ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...