2010-01-14 4 views
0

В представлении сведений я хотел бы скрыть новую кнопку.vs2008 web express: detailsview не может скрыть новую кнопку

На странице загрузки я успешно сделал это с помощью следующего кода:

dtvwMyProfile.Rows[5].Cells[0].Controls[2].Visible = false; 

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

Кнопка «Новая кнопка» продолжает отображаться. Как полностью скрыть его с экрана.

В некотором случае видимое свойство сохраняет значение true и как узнать это событие?

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

ответ

1

Динамическое изменение свойств дочерних элементов управления, созданных DetailsView, не рекомендуется.

Если кнопка создается самим DetailsView, все, что вам нужно сделать, это установить AutoGenerateInsertButton в false, и вы можете сделать это в Page_Load.

Я не рекомендую случайным образом выбирать событие страницы и обрабатывать ее. Если вы это сделаете, скорее всего, он снова сломается, когда вы измените что-то еще.

0

Возможно, попробуйте сделать это в обработчике событий ModeChanged, который срабатывает после изменения режима ... Но можете ли вы обеспечить, чтобы новый всегда находился в позиции 2? Вы можете проверить кнопку по ее имени или имени команды.

+0

ModeChanged не работает. Он всегда работает для события PageLoad. Некоторые вещи меняют видимое свойство этой кнопки на True, и я не знаю, что это такое. Это всего лишь тестовый/обучающий код, поэтому на данный момент я выбираю позицию 2. Пожалуйста, помогите мне! –

+0

Если событие загрузки страницы работает для вас, но оно возвращается обратно, попробуйте переместить его на более поздний случай, например, на страницу prerender. Это может произойти после кода, который снова показывает кнопку. –

Смежные вопросы