Корзина для покупок Asp.net

#javascript #asp.net

#javascript #asp.net

Вопрос:

У меня есть страница aspx, и внутри я вызвал страницу .ascx, которая является корзиной покупок, на странице aspx у меня есть много ссылок на книги, и мы можем добавлять книги в корзину покупок. При нажатии кнопки добавить я сохраняю идентификатор книги, название, цену в файле cookie, а на странице ascx я получаю копию и вставляю значение в корзину покупок, используя переменную сеанса, все работает нормально..Код выглядит примерно так .. при нажатии кнопки добавить btn я вызываю эту функцию javascript

        function addCookies(typeShopping,id,name,price) {

       document.cookie = typeShopping   "="   id   ","   name   ","   price;
       }
  

Но после этого я должен сделать ответную публикацию, чтобы страница ascx загрузилась и добавила эту информацию в корзину покупок. итак, btn, который вызывает эту функцию, выглядит следующим образом..

       <a onclick="addCookies('ShoppingCart',1, 'A summary of the Creed....' ,25);"href=".../ShowBooks.aspx?CategoryName=Qur'anamp;Mushafamp;CatID=1" </a>
  

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

Ответ №1:

Вам нужно return false; из onclick обработчика запретить браузеру выполнять действие по умолчанию.

Комментарии:

1. извините, я плохо разбираюсь в Java script, должен ли я просто выполнить эту функцию addCookies (typeShopping, id, name, price) { document.cookie = typeShopping «=» id «, » name «, » price; // aspnetForm.reset(); оповещение («проверить сейчас»); возвращает false; } Поскольку оно не работает, страница продолжает отправлять ответ

2. Нет. Вам нужно return в onclick="" , и вам нужно изучить Javascript.

3. да, он работает хорошо, но теперь страница ascx не загружается: (есть предложения, есть ли какой-либо способ, чтобы после выполнения этой функции я вызывал страницу ascx для загрузки, что решит все

4. Вы просто попросили, чтобы он не загружался. Ты получил то, о чем просил. Вам также необходимо изучить AJAX.

5. нет- нет , я хочу , чтобы он загрузился, но без обратной отправки любым способом для этого

Ответ №2:

Вам нужно будет указать методу addCookies, чтобы return false; после выполнения необходимых операций. Это остановит действие ссылки.

 function addCookies(typeShopping,id,name,price) {
       document.cookie = typeShopping   "="   id   ","   name   ","   price;
       return false;
       }
  

Комментарии:

1. я сделал это, но все равно после этого происходит обратная отправка и обновление страницы, и я снова попадаю на вершину

2. как указывает @SLaks в своем ответе, вам нужно будет поместить значение retun false внутри значения атрибута onclick.