powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / UpdatePanel.Update() при Callbck
10 сообщений из 10, страница 1 из 1
UpdatePanel.Update() при Callbck
    #37551747
masha2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Только разбираюсь в asp.net. Подскажите, пожалуйста, решение следующего вопроса. Есть страница Page, на ней UpdatePanel, с GridView. Ниже, вне UpdatePanel, располагается UserControl (элемент div с полями для редактирования, пропускается через функцию jquery.dialog() – получаем диалог для редактирования записи в таблице). UserControl реализует интерфейс ICallbackEventHandler, при нажатии на кнопку Сохранить происходит callback, запрос в БД и после этого хотелось бы обновить UpdatePanel, находясь на сервере, вот только panel никак не обновляется. Я правильно понимаю, что при callback обновить панель невозможно? Только в два захода? Или путь в принципе выбран не верно? Просто запрос на обновление не совсем простой, там три запроса приходится делать...
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552258
Фотография student-uni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понимаю:

1. Ваш контрол должен без UpdatePanel тоже нормально редактировать. При этом должен быть виден ПостБек (Флик в броузере)

2. При размещении его в UpdatePanel ПостБек (Флик в броузере) должен быть не виден, это обеспечивает UpdatePanel.


Какую цель Вы преследуете реализуя в Вашем Контроле ICallbackEventHandler ?

В принципе обновления с сервера на клиенте невозможны.

АСП работает по принципу, клиент серверу посылает запрос, а сервер ему ответ (Обновленный вид).
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552369
masha2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
student-uni,

Просто у меня пока нет полного понимания, как это все должно работать, поэтому писала поступательно: сначала заполнила GridView, с пэйджингом, сортингом - в UpdatePanel все это выглядело очень хорошо. Далее диалог для редактирования (модальный), казалось удобно будет на клиенте данные диалога упаковывать в JSON-объект, колбэком передать на сервер, там десериализовать, выполнить все нужные запросы - все замечательно, быстро, без моргания, пока не пришло время обновлять отредактированную строчку - тут и загвоздка, так как UpdatePanel.Update() по-видимому срабатывает только при постбэках. Наверно придется все переделывать без колбэка, пока вывернулась повторным запросом через триггер updatepanel... все плохо...
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552542
Фотография student-uni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
masha2Далее диалог для редактирования (модальный),

а чем стандартные функции редактирования ГридВъю не подошли?

Используйте их и будет вам счастье.
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552629
masha2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
student-uni,

Стандартные функции, это я так полагаю, когда добавляются доп. столбцы для редактирования, удаления через
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"/>,
потом строка переходит в режим редактирования или внизу показывать DetailsView, запрос вешать на UpdateCommand и т.д. ?
Как-то все это ужасно, у меня таблица и без того очень широкая и большая, при редактировании мне нужно выполнить 3 запроса к трем таблицам... вроде как не подходит, или это просто сложности перехода из winForms, все время хочется сделать как там...
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552851
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
masha2student-uni,

Стандартные функции, это я так полагаю, когда добавляются доп. столбцы для редактирования, удаления через
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"/>,
потом строка переходит в режим редактирования или внизу показывать DetailsView, запрос вешать на UpdateCommand и т.д. ?
Как-то все это ужасно, у меня таблица и без того очень широкая и большая, при редактировании мне нужно выполнить 3 запроса к трем таблицам... вроде как не подходит, или это просто сложности перехода из winForms, все время хочется сделать как там...

Столбцы для редактирование не обязательны, можно создать одну колонку в которую поместите например картинку , а к этой картинке добавьте всплывающее меню.
заполните <EditItemTemplate> для редактируемых полей , и все зачем модальные то действительно
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552893
masha2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey1306,

EditItemTemplate - я так понимаю это будет редактирование в самой таблице по горизонтали. Я ж говорю, таблица очень широкая со скролом, текст в ячейках в одну строчку, чтобы высота была фиксированная, это будет жутко не удобно. А может я и не права, надо подумать... Все равно спасибо.
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552940
Фотография student-uni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
masha2это просто сложности перехода из winForms, все время хочется сделать как там...

Копай CommandField там можно в визарде вместо текста - графику и иконку вставить.

Вот что получится:

<asp:CommandField HeaderText="Редакт." HeaderStyle-CssClass="verticaltext" ButtonType="Image" ShowEditButton="True" CancelImageUrl="~/ico/cancel.gif" EditImageUrl="~/ico/edit.gif" UpdateImageUrl="~/ico/update.gif" />

Гифы самому искать и путь к ним самому указать :-)

События тоже можно легко в визарде прописать
а можно и ручками.

Цель - получить значение ключевого поля, от него и плясать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
        protected void gvProductDetails_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {

            Int32 rIdx;
            Int32 iKID = 0;
            //Set the edit index.
            rIdx = e.RowIndex;
            if (!gvProductDetails.DataKeys[rIdx].Values[0].ToString().Equals(String.Empty))
                iKID = Convert.ToInt32(gvProductDetails.DataKeys[rIdx].Values[0].ToString());               

        }
        protected void gvMessages_RowEditing(object sender, GridViewEditEventArgs e)
        {
            //Set the edit index.
            gvMessages.EditIndex = e.NewEditIndex;
            //Bind data to the GridView control.
            //BindData();

        }

        protected void gvMessages_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            //Reset the edit index.
            gvMessages.EditIndex = -1;
            //Bind data to the GridView control.
            // BindData();

        }

        protected void gvMessages_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {

            Int32 iKID = 0;
            if (!gvMessages.DataKeys[e.RowIndex].Values[0].ToString().Equals(String.Empty))
                iKID =(Int32)gvMessages.DataKeys[e.RowIndex].Values[0];   

            ////Update the values.

            //Reset the edit index.
            gvMessages.EditIndex = -1;

            //Bind data to the GridView control.

        }
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37552964
Фотография student-uni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
masha2Andrey1306,

EditItemTemplate - я так понимаю это будет редактирование в самой таблице по горизонтали. Я ж говорю, таблица очень широкая со скролом, текст в ячейках в одну строчку, чтобы высота была фиксированная, это будет жутко не удобно. А может я и не права, надо подумать... Все равно спасибо.

Можно и DetailsView в отдельном окне, а по сохранению назад в Грид

Можно вообще Грид сразу в режиме редактирования открыть и показывать , чтоб не скакать туда-сюда, а потом или все тупо сохранить или отслеживать измененные строки и сохранять только их.
...
Рейтинг: 0 / 0
UpdatePanel.Update() при Callbck
    #37553783
masha2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
student-uni,

Ладно, пожалуй у меня все-таки не самый плохой вариант, основную работу делает клиентский jquery, а то встроенный функционал GridView - это одни сплошные постбэки.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / UpdatePanel.Update() при Callbck
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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