Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
gen1usqq
1 / 1 / 0
Регистрация: 11.12.2014
Сообщений: 135
1

Посоветуйте пожалуйста, как можно реализовать после вывода строк из БД изменение их порядка по кнопке

05.03.2017, 01:17. Просмотров 315. Ответов 7
Метки бд (Все метки)

Столкнулся с такой проблемой, на странице например выведены 4 блока, т.е. соответственно 4 строки из БД. Необходимо реализовать изменение их порядка, т.е. например, идут строки 1 2 3 4, а по кнопке около строки 4 (типо кнопка "вверх"), чтобы 4 строка поднялась на позицию 3, а 3 строка стала на позиции 4. Я догадываюсь, как это реализовать, но при этом после каждого клика будет осуществляться обновление страницы. Так вот вопрос, можно ли как-то обойтись без постоянного обновления страницы?

Или если у Вас есть иные идеи реализации данной задачи, не могли бы вы предложить их. Спасибо большое за внимание.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2017, 01:17
Ответы с готовыми решениями:

Посоветуйте пожалуйста, как в моём случае можно реализовать изменение заднего фона listboxitem для текущего пользователя
Здравствуйте, я не смог найти способ, который помог бы мне решить мою маленькую (как мне кажется)...

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

Посоветуйте как лучше реализовать обработку порядка 100 млн. записей
Основная суть вопроса в самой теме. Исходные данные в СSV файлах с количеством записей от 5 000 до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Usaga
Эксперт .NET
5535 / 3738 / 661
Регистрация: 21.01.2016
Сообщений: 14,892
Завершенные тесты: 2
05.03.2017, 05:45 2
Цитата Сообщение от gen1usqq Посмотреть сообщение
Так вот вопрос, можно ли как-то обойтись без постоянного обновления страницы?
Конечно можно. Нужно использовать немного JavaScript и, возможно, Ajax.
0
gen1usqq
1 / 1 / 0
Регистрация: 11.12.2014
Сообщений: 135
05.03.2017, 16:26  [ТС] 3
А что если поконкретнее трошки?
0
Usaga
Эксперт .NET
5535 / 3738 / 661
Регистрация: 21.01.2016
Сообщений: 14,892
Завершенные тесты: 2
05.03.2017, 16:59 4
gen1usqq, трошки?
0
gen1usqq
1 / 1 / 0
Регистрация: 11.12.2014
Сообщений: 135
05.03.2017, 17:27  [ТС] 5
Естественно, дайте хотя бы алгоритм действия. Я вот сейчас например, с помощью хелпера вывожу для админа соответствующие строки + с ссылками на редактирование, и вот там же мне необходимо изменить порядок, так как это сделать то?

Добавлено через 4 минуты
Вот этот блок

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<div class="articles row">
<ul class="col-md-5 col-md-offset-1">
<li class="articleCategory">Введение</li>
<li>
<a href="/Home/Articles?id=2">Что такое JavaScript</a>
<div style="float:right">
<a class="glyphicon glyphicon-pencil text-success" href="/Manage/EditArticle?id=2"></a>
<a class="glyphicon glyphicon-remove text-danger" href="/Manage/DeleteArticle?id=2" onclick="return confirm('Вы действительно хотите удалить данную статью?')"></a>
</div>
<div class="articleSummary">Сегодняшний мир веб-сайтов трудно представить без языка JavaScript. JavaScript - это то, что делает живыми веб-страницы, которые мы каждый день просматриваем в своем веб-браузере.
</div>
</li>
<li><a href="/Home/Articles?id=3">Первая программа на JavaScript</a><div style="float:right"><a class="glyphicon glyphicon-pencil text-success" href="/Manage/EditArticle?id=3"></a><a class="glyphicon glyphicon-remove text-danger" href="/Manage/DeleteArticle?id=3" onclick="return confirm('Вы действительно хотите удалить данную статью?')"></a></div><div class="articleSummary">оздадим первую программу на javascript. Для начала определим для нашего приложения какой-нибудь каталог. Например, назовем его app. В этой папке создадим файл под названием index.html. То есть данный файл будет представлять веб-страницу.</div></li><li class="articleCategory">Основы</li><li><a href="/Home/Articles?id=6">Переменные</a><div style="float:right"><a class="glyphicon glyphicon-pencil text-success" href="/Manage/EditArticle?id=6"></a><a class="glyphicon glyphicon-remove text-danger" href="/Manage/DeleteArticle?id=6" onclick="return confirm('Вы действительно хотите удалить данную статью?')"></a></div><div class="articleSummary">Для хранения данных в программе используются переменные. Переменные предназначены для хранения каких-нибудь временных данных или таких данных, которые в процессе работы могут менять свое значение. Для создания переменных применяется ключевое слово var.</div></li></ul><ul class="col-md-5"><li><a href="/Home/Articles?id=7">Типы данных</a><div style="float:right"><a class="glyphicon glyphicon-pencil text-success" href="/Manage/EditArticle?id=7"></a><a class="glyphicon glyphicon-remove text-danger" href="/Manage/DeleteArticle?id=7" onclick="return confirm('Вы действительно хотите удалить данную статью?')"></a></div><div class="articleSummary">Все используемые данные в javascript имеют определенный тип. В JavaScript имеется пять примитивных типов данных:</div></li><li class="articleCategory">Функциональное программирование</li><li><a href="/Home/Articles?id=8">Функции</a><div style="float:right"><a class="glyphicon glyphicon-pencil text-success" href="/Manage/EditArticle?id=8"></a><a class="glyphicon glyphicon-remove text-danger" href="/Manage/DeleteArticle?id=8" onclick="return confirm('Вы действительно хотите удалить данную статью?')"></a></div><div class="articleSummary">Функции представляют собой набор инструкций, выполняющих определенное действие или вычисляющих определенное значение.
</div>
</li>
<li>
<a class="glyphicon glyphicon-plus" href="/Manage/AddArticle" style="color:#3c763d;float:right;"></a>
</li>
</ul>
</div>
0
Usaga
Эксперт .NET
5535 / 3738 / 661
Регистрация: 21.01.2016
Сообщений: 14,892
Завершенные тесты: 2
05.03.2017, 19:16 6
gen1usqq, алгоритм дейтсвий подразумевает некоторую конкретную реализацию конкретной же задачи. От тебя же, пока что, прозвучало лишь обощённое описание. Какие строки нужно перемещать? В БД или только на странце? И как перемещать? Сортировать при выводе на страницу или в БД признак какой-то добавлять? Что при этом должно происходить?
0
gen1usqq
1 / 1 / 0
Регистрация: 11.12.2014
Сообщений: 135
05.03.2017, 19:38  [ТС] 7
Смотрите, необходимо чтобы я открываю 1-й раз страницу, оно выводит список строк из БД на страницу сайта, дальше напротив каждой строки из БД на сайте есть управляющие кнопки (изменить, удалить, вверх, вниз), по нажатию на кнопку вверх, чтобы соответствующая "строка" поднималась соответственно вверх и вниз аналогично. Так вот я уже понял, что необходимо в данную таблицу добавить дополнительную колонку для указания порядка строк. Я только не понимаю, как мне реализовать на сайте так, чтобы при клике на кнопку "вверх" у меня сразу же как бы блок соответствующий строке из БД, поднимался вверх, без обновления и перехода в начало страницы.

И ещё я что-то никак не могу понять, как мне изменять эту колонку для "Порядка" при подъёме вверх или опускании вниз.

Ну т.е. например есть строки 1 2 3, мне необходимо сделать по клику на кнопку "вверх" строки 3, чтобы стал порядок
1 3 2.
0
Usaga
Эксперт .NET
5535 / 3738 / 661
Регистрация: 21.01.2016
Сообщений: 14,892
Завершенные тесты: 2
05.03.2017, 20:04 8
gen1usqq, ну, можно сделать и с перезагрузкой всей страницы. В ASP.NET это было бы проще, чем возиться с JavaScript. Просто выглядеть будет "доисторически".

Про дополнительное поле в БД - правильный ход мыслей. Каждой записи нужно назначать "вес" - некоторое (числовое) значение, по которому записи будут сортироваться. Нажатие кнопок "вверх" и "вниз" должны менять местами "веса" соседних записей.

Для реализации подобных вещей без обновления всей страницы нужно использовать UpdatePanel (стандартные средства WebForms) или JavaScript + KnockoutJS (или подобное) + AJAX. Суть в перересовке только части страницы (с отправкой запросов на сервер) без перезагрузки страницы.

Я настоятельно рекомендую разбить вашу хотелку на этапы\стадии\задачи: сначала научиться "организовывать" данные в БД (можно в консольном приложении, чтобы никакие ASP.NET не отвлекали\мешались), потом научиться всё это выводить по-обычному - с перезагрузкой страницы, но чтобы всё работало и уже потом добавлять "интерактивности". Тогда шансы на скорое решение поставленной задачи резко возрастут и её реализация не потонет в потоке непонимания всех используемых технологий разом.
0
05.03.2017, 20:04
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru