Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему при обновлении формы запускается метод кнопки? / 6 сообщений из 6, страница 1 из 1
07.11.2005, 15:47
    #33364412
Alexandr Golovko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при обновлении формы запускается метод кнопки?
Есть 2 формы. На каждой по 1 кнопке.
1-я вызывает вторую при нажатии на кнопку:
Response.Write("<script language=javascript>window.open('ElementForm.aspx',...)
Во второй форме что то делаем и закрываем ее по нажатии на кнопку:
this.RegisterClientScriptBlock("close_window","<script language='javascript'>window.close();</script>");
Все работает, но если в главной форме после всех вышеописанных действий нажать F5 (обновить), то запускаеться обработчик кнопки на главной форме и опять выскакивает вторая форма.
Как обойти это, ведь я же не нажимал на кнопку :(
...
Рейтинг: 0 / 0
07.11.2005, 16:24
    #33364599
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при обновлении формы запускается метод кнопки?
дело в том, что по нажатию на кнопку на первой форме, происходит отправка формы на сервер, после этого обновление страницы так же повторяет это действие, и каждый раз на сервере вызывается обработчик нажатия кнопки...

как вариант измени кнопку из submit'а на обычный button и напиши клиентский код, который по нажатию будет открывать новое окно...

с уважением...
...
Рейтинг: 0 / 0
07.11.2005, 17:07
    #33364783
Alexandr Golovko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при обновлении формы запускается метод кнопки?
с другими 2-я моими постами разобрался. Спасибо за помощь!
Но вот с этой проблемой пока не могу справится...
Нельзя ли более подробнее описать способ решения, или простенький примерчик...
...
Рейтинг: 0 / 0
07.11.2005, 17:11
    #33364797
Sam Andrews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при обновлении формы запускается метод кнопки?
на пальцах: сейчас видимо используется asp:button который "на выходе" дает input type='button'.., если от кнопки ничего, кроме открывания второго окна, не требуется, то заменить asp:button на обычный хтмл-ный <button> у которого определить коиентский обработчик onClick, код содержащий обработчки разместить на странице (обычный джаваскрипт, тот который сейчас в response.write)...

с уважением...
...
Рейтинг: 0 / 0
07.11.2005, 18:47
    #33365016
Alexandr Golovko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при обновлении формы запускается метод кнопки?
а, понятно
да, так заработало!
но это если простая кнопка на форме, а как быть с кнопкой в гриде?
У меня в гриде 2 служебных столбца Edit и Delete
С удалением там все ок, проблем нет, а вот с Edit такая же проблема как и с выше описанной кнопкой.
Вот код:
<asp:datagrid id="_dgConfig" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 48px" runat="server"
Width="100%" BorderColor="Black">
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>
<asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid><asp:panel id="Panel1" style="Z-INDEX: 102; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"

тут как то можно обойти эту проблему?
...
Рейтинг: 0 / 0
07.11.2005, 19:32
    #33365103
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему при обновлении формы запускается метод кнопки?
Самый простой и надёжный способ:
1) Удалить всё в InitializeComponent() кроме этого:
Код: plaintext
this.Load += new System.EventHandler(this.Page_Load);
2) Сменить область видимости для всех обработчиков событий на странице с private на public.
3) Ручками прописать названия этих обработчиков событий для соответствующих событий контролов на странице.

Теперь у вас не будут автоматом при отправке формы на сервер вызываться все события на форме. Более того в случае с DataGrid это даже позволяет бороться с известным багом, когда у этого контрола слетают (пропадают) соответствующие ссылки на события (исчезают из InitializeComponent()).
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Почему при обновлении формы запускается метод кнопки? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]