2009-09-25 3 views
0

У меня есть 2 DetailsView.
Первый скрыта (дисплей: Нет) с DefaultMode = Insert, имеет RequiredFieldValidator2 Подробности проблемы проверки конфликтов

<asp:RequiredFieldValidator ID="valRequireAddedBy" runat="server" 
    ControlToValidate="txtAddedBy" SetFocusOnError="true" 
    Text="Your name is required." Display="Dynamic"> 
</asp:RequiredFieldValidator> 

второй, в режиме редактирования.
Когда я пытаюсь представить его я получаю сообщение об ошибке:

htmlfile: Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.

Только если я удалить валидатор с первого DetailsView он работает.

+0

, пожалуйста, напишите код для вашего EditMode DetailsView, который может помочь –

ответ

0

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

+0

У меня нет групп валидации на странице, поэтому попробуйте их добавить. – dani

+0

Я получаю сообщение об ошибке, когда я нажимаю на кнопку, но до того, как он достигнет своего кода (я поставил точку останова в первой строке события нажатия кнопки) и получил ошибку до достижения точки останова. – dani

+1

, если у вас есть кнопка в шаблоне (например, она не сгенерирована автоматически), установите для свойства CausesValidation значение false –

-1

Во втором подробном представлении установите CausesValidation свойства ложной

Таким образом, ваша «Editmode» деталь просмотр не заставит проверку стрелять

Я думаю DetailsView не разоблачить CausesValidation собственности, вам придется иметь дело с ним на вашем DetailsView.UpdateItem event

+0

нет свойства CausesValidation в DetailsView. – dani