|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Здравствуйте! Необходимо обновить тело tbody таблицы не перезагружая страницу. Страница формируется mvc-контроллером. Сама таблица: Код: html 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.
Для этого в mvc-контроллере, который формирует данную страницу прописал нужный метод, который принимает POST-запросы - GetPolingStationsByElectoralDistrict: Код: c# 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.
Подключил файл , написал в нем JS функцию, которая формирует и отправляет ajax-запрос на сервер: Код: javascript 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.
Для обновления tbody таблицы данными с сервера создал представление : Код: html 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.
После возврата объектов на фронт он попадает в for, созданного частичного представления GetPolingStationsByElectoralDistrict, но уже на 2-ой итерации выдает ошибку - error: автор[object Object] status: parsererror er:SyntaxError: Unexpected token < in JSON at position 2. Попытался вернуть json вместо представления: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Ошибка сервера - 500 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 13:03 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir После возврата объектов на фронт он попадает в for Vlad__i__mir Попытался вернуть json вместо представления: ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:00 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir Код: javascript 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:04 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir, Я не знаю, что у Вас за проблема вызвать в контроллере штучку, которая будет возвращать данные на клиент в виде json по коду методом гет. А на клиенте вызвать эту штуку, и яваскоиптом встроить в DOM все данные. Работы минут на десять, большая часть из них уйдет на поиск чего открыть, открытие, питие чая, и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:49 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
В том, что ТС держится за MVC, от которого давно пора отказаться в пользу уже давно уже проработанных шаблонизаторов на клиенте. При этом, по всей видимости, имеет очень слабое представление о его жизненном цикле. MVC не сильно-то заточен для создания SPA ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:55 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
ShSerge Vlad__i__mir, Я не знаю, что у Вас за проблема вызвать в контроллере штучку, которая будет возвращать данные на клиент в виде json по коду методом гет. А на клиенте вызвать эту штуку, и яваскоиптом встроить в DOM все данные. Работы минут на десять, большая часть из них уйдет на поиск чего открыть, открытие, питие чая, и т.д. Shocker.Pro Я так и пробовал делать через POST-запрос, вот: написал api-контроллер, который мне возвращает нужный json-массив: Код: c# 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.
написал ajax-запрос, в котором получаю нужный мне json: Код: javascript 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.
и соответственно функции, которые заполняют tbody: Код: javascript 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.
Но у меня возникла проблема - представление сформировано Rayzor и в последней колонке каждой строки добавляются ссылки для правки и удаления на другие представления: Код: html 1. 2. 3. 4.
и как их добавить в последнею ячейку каждой строки я не знаю. Если знаете подскажите ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:19 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro В том, что ТС держится за MVC, от которого давно пора отказаться в пользу уже давно уже проработанных шаблонизаторов на клиенте. При этом, по всей видимости, имеет очень слабое представление о его жизненном цикле. MVC не сильно-то заточен для создания SPA Ну я знаю, что это не очень хорошо, но времени мало, поэтому использую, то что знакомо. На будущее планирую изучить. Какой посоветуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:24 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir После возврата объектов на фронт он попадает в for Vlad__i__mir Попытался вернуть json вместо представления: Наверное на сервере, потому что всё-таки for С#. Что значит нужна разметка? Что и как мне нужно вернуть из контроллера? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:26 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir Код: javascript 1.
Потому что отправляю на сервер json-объект ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:28 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir Shocker.Pro пропущено... зачем ты это написал? Потому что отправляю на сервер json-объект это Content-Type ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:29 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Разметка на клиенте, а не на сервере. Хотя ее можно и нужно подготовить на сервере. А дальше - яваскрипт. Даже если Вы найдете какой-то компонент для аспнет, все равно - javascript. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:46 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir использую, то что знакомо. Vlad__i__mir Наверное на сервере Vlad__i__mir Наверное на сервере Vlad__i__mir После возврата объектов на фронт он попадает в for, Vlad__i__mir Что значит нужна разметка? На самом деле у тебя абсолютно смутное представление о том, как работает MVC приложение, поэтому для начала было бы неплохо прочесть учебник по MVC (кстати, то, что ты хочешь сделать вручную, есть в MVC и называется AjaxForm). Но, ЕМНИП, я уже не первый раз даю этот совет, не помогает. Vlad__i__mir Потому что отправляю на сервер json-объект https://developer.mozilla.org/ru/docs/Web/HTTP/Headers/Accept но нет, это не наш путь, лишь бы ответить. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:49 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir и как их добавить в последнею ячейку каждой строки я не знаю. Если знаете подскажите ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:54 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
ShSerge Разметка на клиенте, а не на сервере. Хотя ее можно и нужно подготовить на сервере. А дальше - яваскрипт. Даже если Вы найдете какой-то компонент для аспнет, все равно - javascript. До меня не доходит как мне записать вот этот Rayzor-код, который ведет в mvc-контроллер в последние ячейки строк: Код: javascript 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 20:56 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir и как их добавить в последнею ячейку каждой строки я не знаю. Если знаете подскажите У меня уже процентов 30 работает через web-api, то что не удалось нормально реализовать через mvc ) В общем я понял, что эти asp-action я уже не смогу переписать через web-api, а переписывать сейчас все на web-api уже поздно и времени нет. Подскажите, что я не правильно сделал в своем варианте, когда пытаюсь сформировать через PartialView? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 21:05 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir Подскажите, что я не правильно сделал в своем варианте, когда пытаюсь сформировать через PartialView? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 21:06 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
love_bach Vlad__i__mir пропущено... Потому что отправляю на сервер json-объект это Content-Type ну тут я перепутал конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 21:15 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir Подскажите, что я не правильно сделал в своем варианте, когда пытаюсь сформировать через PartialView? Убрать Код: javascript 1.
, пусть сам определит какой контент? Ещё чего-нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 21:28 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir Ещё чего-нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 21:32 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir Ещё чего-нибудь? Завтра на работе. Склонировал с git'a, изменения в бд залил, а он мне исключение при ToListAsync() выдает: авторInvalidCastException: Specified cast is not valid. MySqlConnector.Core.Row.GetInt32(int ordinal) in Row.cs MySql.Data.MySqlClient.MySqlDataReader.GetInt32(int ordinal) in MySqlDataReader.cs lambda_method(Closure , QueryContext , DbDataReader , ResultContext , int[] , ResultCoordinator ) Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable<T>+AsyncEnumerator.MoveNextAsync() Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync<TSource>(IQueryable<TSource> source, CancellationToken cancellationToken) Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync<TSource>(IQueryable<TSource> source, CancellationToken cancellationToken) voteCollector.Controllers.FriendsController.Index() in FriendsController.cs - string userName; // userName=(string)TempData["userName"]; userName = User.Identity.Name; var voterCollectorContext = _context.Friend.Include(f => f.City).Include(f => f.ElectoralDistrict).Include(f => f.FieldActivity).Include(f => f.GroupU).Include(f => f.House).Include(f => f.MicroDistrict).Include(f => f.PollingStation).Include(f => f.Street).Include(f => f.User). Where(f => f.User.UserName.Equals(userName)); List<Friend> friends = await voterCollectorContext.ToListAsync(); return View(friends); } [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Index([Bind("UserName", "Password", "ReturnUrl")] LoginModel loginViewModel) Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments) но на работе все нормально было, приду запущу, надо поспать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 22:06 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir Ещё чего-нибудь? Сделал, точно также на 2-ой итерации заполнения for-ом tbody ошибка авторerror: [object Object]Подтвердите действия на странице ... status: parsererror er:SyntaxError: Unexpected token < in JSON at position 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2021, 07:04 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir Ещё чего-нибудь? Заработало! Спасибо! Нужно было ещё убрать Код: html 1.
) Блин, столько времени убито из-за 2-х заголовок в запросе. Вот такие вопросы возникли: Rayzor получается рисует разметку на сервере и отдает на фронт уже готовую html-страницу? Это существенно нагружает сервер, если сравнивать с тем, когда мы пишем web-api и отдаем контент в json в тот же Angular, который рисует разметку уже на клиенте не используя вычислительные мощности сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2021, 08:19 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir Блин, столько времени убито из-за 2-х заголовок в запросе. Vlad__i__mir Это существенно нагружает сервер, если сравнивать с тем, когда мы пишем web-api и отдаем контент в json в тот же Angular, который рисует разметку уже на клиенте не используя вычислительные мощности сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2021, 09:36 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir Блин, столько времени убито из-за 2-х заголовок в запросе. Ну вообще я это не копипастил, а просто написал запрос по аналогии с теми, что писал до этого для обновления полей через web-api ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2021, 19:35 |
|
Обновление тела таблицы (tbody) без обновления всей страницы c помощью mvc-контроллера
|
|||
---|---|---|---|
#18+
Vlad__i__mir Ну вообще я это не копипастил, а просто написал запрос по аналогии с теми, что писал до этого для обновления полей через web-api dataType: "json" Ну еще лучше ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2021, 20:43 |
|
|
start [/forum/topic.php?fid=18&msg=40087192&tid=1354506]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 163ms |
0 / 0 |