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

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

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


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

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

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

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

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

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

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

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

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

EditItemTemplate - я так понимаю это будет редактирование в самой таблице по горизонтали. Я ж говорю, таблица очень широкая со скролом, текст в ячейках в одну строчку, чтобы высота была фиксированная, это будет жутко не удобно. А может я и не права, надо подумать... Все равно спасибо.
...
Рейтинг: 0 / 0
30.11.2011, 20:51:34
    #37552940
student-uni
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UpdatePanel.Update() при Callbck
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
30.11.2011, 21:10:29
    #37552964
student-uni
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UpdatePanel.Update() при Callbck
masha2Andrey1306,

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

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

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

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


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