Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обновление состоянии корзины на ajax & webforms / 18 сообщений из 18, страница 1 из 1
13.12.2013, 20:48
    #38500567
DelphiSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
Здравствуйте!
поясните в двух словах,
как лучше обновлять асинхронно информацию о состоянии корзины:

1 UpdatePanel (с тяжелой microsoft оберткой)
2 надергать функции Jquery AJAX
3 создавать непосредственно вызовы через объект XMLHttpRequest
4 другой способ.
...
Рейтинг: 0 / 0
15.12.2013, 00:03
    #38501128
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
зачем асинхронно? пускай себе страница перегрузится, не вижу проблемы в этом
...
Рейтинг: 0 / 0
15.12.2013, 11:40
    #38501277
DelphiSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
на самом деле я так и сделал,
и все же , как поступить в условиях ограниченного (скорее одноразового)
применения ajax&webforms, при этом сохранить баланс: простота разработки & минимум js библиотек на клиенте
...
Рейтинг: 0 / 0
15.12.2013, 18:37
    #38501489
Boneshock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
голосую за
DelphiSQL2 надергать функции Jquery AJAX
...
Рейтинг: 0 / 0
16.12.2013, 08:34
    #38501757
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
DelphiSQL,

4. Другой способ.
...
Рейтинг: 0 / 0
17.12.2013, 00:33
    #38502927
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
ShSergeDelphiSQL,

4. Другой способ.+1

Тема того, где хранится загадочное состояние корзины и зачем его нужно обновлять, не раскрыта.
...
Рейтинг: 0 / 0
18.12.2013, 13:33
    #38505065
DelphiSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
какой способ?
...
Рейтинг: 0 / 0
18.12.2013, 17:20
    #38505516
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
DelphiSQLкакой способ?Ну к примеру если список выбранных подарков хранится на клиенте до нажатия на кнопку "Оформить заказ", то тупо:
Код: javascript
1.
ShoppingCart.add(product);
...
Рейтинг: 0 / 0
07.01.2014, 19:48
    #38519157
DelphiSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
Спасибо за консультацию, разобрался.

Подскажите как избежать дублирования серверного и клиентского кода, при вызове серверных методов с клиента Ajax-ом.
Первый раз пишу клиентский код (javascript) отрисовки (на пример состояния корзины) после вызова серверного метода.
Второй раз на стороне сервера (на .NET) для корректного отображения после PostBack (также состояния корзины).
...
Рейтинг: 0 / 0
07.01.2014, 22:14
    #38519219
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
DelphiSQL, объясните простым языком, что такое Первый раз, а что - Второй.
...
Рейтинг: 0 / 0
07.01.2014, 22:33
    #38519229
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
skyANA, ну первый, это когда в первый раз, а потом уже это не первый
...
Рейтинг: 0 / 0
07.01.2014, 22:44
    #38519237
DelphiSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
Первый- на клиенте в javascript
к каждой строчке в ListView цепляется ф-ция
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function AddToBascket(tb, btn, idMenu, Aurl, AColorInBasket) {

     .....

     $.ajax({
        ....
        success: function (msgResponse, status) {
            $("#LabelBasket").text(msgResponse["d"]); //отрисовка корзины
            $(btn).css({ 'background-color': AColorInBasket}) //отрисовка строки в серверном ListView
            ......
        }
    });

    return false;
}



Тоже самое но на сервере, но уже в 2-ух местах


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  ' обновляем корзину
   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Me.LabelBasket.Text = getBasketStr()

    End Sub

    ' отрисовываем строчки ListView
    Protected Sub O_tovary_ListView_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewItemEventArgs) Handles           
        If e.Item.ItemType = ListViewItemType.DataItem Then
            Dim itemButton As Button = CType(e.Item.FindControl("ButtonAdd"), Button)
            Dim itemInBasket As TextBox = CType(e.Item.FindControl("InBasket"), TextBox)
            If cbool(itemInBasket .Text) Then
                itemButton.Style("background-color") = AColorInBasket
            End If

        End If

    End Sub



Фактически отрисовка в 3-ех разных местах, на разных языках.
Подскажите, как упростить.
...
Рейтинг: 0 / 0
07.01.2014, 22:56
    #38519247
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
DelphiSQL, а зачем вы отрисовываете на сервере - отрисовываем строчки ListView
совсем лишнее, вам с него новую корзину получить надо а лист товаров.
лист товаров как был на клиенте, так и останется, только строка выделится
я бы $(btn).css({ 'background-color': AColorInBasket}) выше поднял, перед запросом, в лоб не ударит, а так более информативно
...
Рейтинг: 0 / 0
07.01.2014, 23:04
    #38519249
DelphiSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
Где-то в степи,
у меня корзина на sqlserver пишется из клиентской ф-ции AddToBascket через ajax
любой постбек из aspx нужно отрисовать корректно
...
Рейтинг: 0 / 0
07.01.2014, 23:07
    #38519251
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
а это что за атавизм - Page_Load, вы работаете через аджакс так садитесь на метод или контроллер
...
Рейтинг: 0 / 0
07.01.2014, 23:14
    #38519257
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
DelphiSQL,
любой постбек из aspx нужно отрисовать корректно - что значит корректно и причем тут хранилище, вы на сервер передаете
идентификатор записи товара и через куку хозяина корзины, зачем вам список товара на странице передергивать?
если товар был последний, то он при оформлении покупки исчезнет из торгового зала, а при таком раскладе какой Вам профит от аджакса, уж делайте полной перегрузкой и не мучайтесь - не вы первый не вы последний кто это использует, а магазин раскрутите
наймете программиста он вам сделает SPA
...
Рейтинг: 0 / 0
07.01.2014, 23:24
    #38519265
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
DelphiSQL, чтобы избавиться от дублирования кода, Вам надо отрисовку делать либо полностью на сервере, либо полностью на клиенте (сервер отдаёт лишь данные).
Конекретно для Вашего примера можно посоветовать в ответе от сервера (msgResponse) присылать html для кнопки btn (ButtonAdd).
...
Рейтинг: 0 / 0
08.01.2014, 11:16
    #38519413
DelphiSQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление состоянии корзины на ajax & webforms
skyANA, спасибо за наводку.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Обновление состоянии корзины на ajax & webforms / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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