|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть проект asp net core 3.1, Entity framework core 3. Проект с представлениями mvc. Есть 3 сущности - Friend, City, Street: Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71.
По плану пользователь добавляет друга (Friend) и вводит данные о нем - имя, город, улицу, номер дома. При этом при выборе города список улиц должен обновляться в соответствии с выбранным городом - должны отобразиться улицы из коллекции ICollection Streets объекта сущности City. Для этого был добавлен дополнительный метод "GetStreets" в контроллер: Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.
Было создано частичное представления для улиц (Streets.cshtml): Код: html 1. 2. 3. 4. 5. 6. 7. 8.
Данное представление "ViewBag.Streets" было присвоено на основном представлении объекту: Код: html 1. 2. 3. 4.
Для передаче id выбранного города на сервер для обновления списка написал js-функцию c запросом ajax: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
JS-функция срабатывает, контроллер отрабатывает и формирует новый список, но на страницу он не возвращается. Выдает ошибку сервера: авторjquery.min.js:2 GET http://localhost:18246/Friends/GetStreets/3 500 (Internal Server Error) send @ jquery.min.js:2 ajax @ jquery.min.js:2 (anonymous) @ Create:257 dispatch @ jquery.min.js:2 v.handle @ jquery.min.js:2 ListPicker._handleMouseUp @ unknown Делал по примеру описанному здесь https://metanit.com/sharp/articles/mvc/17.php Кто знает подскажите, где неверно сделал? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 14:00 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir Здравствуйте! Ты выложи тут исходники всего проекта. А то по всего ~160 строкам мало кто что-нибудь сможет сказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 14:09 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir контроллер отрабатывает автор 500 (Internal Server Error) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 21:54 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir JS-функция срабатывает, контроллер отрабатывает и формирует новый список, но на страницу он не возвращается. Выдает ошибку сервера: авторjquery.min.js:2 GET http://localhost:18246/Friends/GetStreets/3 500 (Internal Server Error) send @ jquery.min.js:2 ajax @ jquery.min.js:2 (anonymous) @ Create:257 dispatch @ jquery.min.js:2 v.handle @ jquery.min.js:2 ListPicker._handleMouseUp @ unknown Включите консоль браузера и посмотрите что в ответе приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 22:55 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Shocker.Pro Vlad__i__mir контроллер отрабатывает автор 500 (Internal Server Error) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 07:06 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
hVostt Vlad__i__mir JS-функция срабатывает, контроллер отрабатывает и формирует новый список, но на страницу он не возвращается. Выдает ошибку сервера: пропущено... Включите консоль браузера и посмотрите что в ответе приходит. На фронт ничего не приходит: ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 08:01 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
То, что у тебя точка останова стоит на return еще не значит, что сам return выполнился, значит ошибка происходит на рендеринге partial ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 09:37 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir Для этого был добавлен дополнительный метод "GetStreets" в контроллер: ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 09:40 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Shocker.Pro, да Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Правда оно у меня называлось "Streets.cshtml" сейчас переименовал в "GetStreets.cshtml" - как контроллер. В Response сервера начал выдавать: авторSystem.InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'Microsoft.AspNetCore.Mvc.Rendering.SelectList', but this ViewDataDictionary instance requires a model item of type 'System.Collections.Generic.IEnumerable`1[voteCollector.Models.Street]'. at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary.EnsureCompatible(Object value) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary..ctor(ViewDataDictionary source, Object model, Type declaredModelType) at lambda_method(Closure , ViewDataDictionary ) at Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator.CreateViewDataDictionary(ViewContext context) at Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator.Activate(Object page, ViewContext context) at Microsoft.AspNetCore.Mvc.Razor.RazorPageActivator.Activate(IRazorPage page, ViewContext context) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, String contentType, Nullable`1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.PartialViewResultExecutor.ExecuteAsync(ActionContext context, PartialViewResult result) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|29_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 Connection: keep-alive Cookie: .AspNetCore.Antiforgery.sTgLludoNYM=CfDJ8P-wVDTJDwxAkxsbTFc3yTbk4EvcFyY9xyO58ZrQgAjASWgJziHO5iGAQv_hR1FgTjcFBsVV-tG63Dp5RnHmivA05pMEq6TKCDHZBc69rguxy14cqIvkAdz4wSY5fH96jryrraeyv2FlTiF_GnlLKi8; .AspNetCore.Cookies=CfDJ8P-wVDTJDwxAkxsbTFc3yTZgDIksPgHNN0onCEuq9GxpnvICqScaJlZB5lruauVKx6nEKQZgOdwtpbOtQzyw8HfAOnOgkq9hAitg4-CpLSEDblRTZffHgDBWh3yssD3iAAnYhvuJx7uaoQf0JOgM4AzsKOw2iTx0GH6fMcuIS0humFffBoHSKuUHnjgYQlvOzz_TbFLOi54mZ0skEM57ex3n7NhRiaLNTavppagEFSlQlfqcd9KpGiCYAaiwRKo_3swsyMaef1DBoX9Br3dcWip6P8FbxQpGyVmP8F-BQsSQsJQ3K_RlswTSWVd7tNzfqqDrkuoYt1HJFehzCugIU-o8w_ItLkiXZePU0khnFfv9v3_Crh9sWd1ejkpOT5VIj2hfF0_ETEqF9NrbZWPnCMGKmM-nxWgzeBhN_q0pDO1O Host: localhost:18246 Referer: http://localhost:18246/Friends/Create User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90" X-Requested-With: XMLHttpRequest sec-ch-ua-mobile: ?0 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 10:47 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Shocker.Pro, получается ему не хватает имплементации интерфейса IEnumerable у списка, который я передаю на страницу? А разве SelectList, который я передаю не имплементирует IEnumerable? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 11:09 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir Правда оно у меня называлось "Streets.cshtml" сейчас переименовал в "GetStreets.cshtml" - как контроллер. Vlad__i__mir Shocker.Pro, получается ему не хватает имплементации интерфейса IEnumerable у списка, который я передаю на страницу? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 11:26 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Можно конечно сделать Cast<voteCollector.Models.Street>... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 11:29 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Shocker.Pro Можно конечно сделать Cast<voteCollector.Models.Street>... У меня на странице Index.cshtml объявлено аналогичным образом: Код: c# 1.
и forech норм работает. Почему же здесь не пашет? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 11:42 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Shocker.Pro Можно конечно сделать Cast<voteCollector.Models.Street>... У меня при таком варианте выдает ошибку, что авторНе удалось найти тип или имя пространства имен "Cast<>" (возможно, отсутствует директива using или ссылка на сборку). Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 13:02 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir Код: c# 1.
Это что вообще такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 14:01 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
fkthat Vlad__i__mir Код: c# 1.
Это что вообще такое? авторМожно конечно сделать Cast<voteCollector.Models.Street>... Возможно я не верно понял автора ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 14:38 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 14:52 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
fkthat Shocker.ProМожно конечно сделать Cast<voteCollector.Models.Street>... Теперь, когда: Код: c# 1. 2. 3. 4. 5. 6.
Он выдает ошибку, что не может сделать следующее преобразование: авторSystem.InvalidCastException: Unable to cast object of type 'Microsoft.AspNetCore.Mvc.Rendering.SelectListItem' to type 'voteCollector.Models.Street'. at System.Linq.Enumerable.CastIterator[TResult](IEnumerable source)+MoveNext() at AspNetCore.Views_Friends_GetStreets.ExecuteAsync() in D:\My_PROGRAMS\voteCollector\Views\Friends\GetStreets.cshtml:line 4 at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts) at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, String contentType, Nullable`1 statusCode) at Microsoft.AspNetCore.Mvc.ViewFeatures.PartialViewResultExecutor.ExecuteAsync(ActionContext context, PartialViewResult result) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|29_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context) HEADERS ======= Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 Connection: keep-alive Cookie: .AspNetCore.Antiforgery.sTgLludoNYM=CfDJ8P-wVDTJDwxAkxsbTFc3yTap4sRF3x7NPb32w3wUMLHRezmt0GTbw5-oS15mt3FVtfZ8aukpzKLyjGzqBndxB3Qwvdqrw6VJIftil0-K91mgXtm605UY7V3wm9JxPlnUHHkLHxAWLoRL3IxQfcHV2Nw; .AspNetCore.Cookies=CfDJ8P-wVDTJDwxAkxsbTFc3yTYI1_URkRVFZ3yo-TFATH70Rplei-TInaLCgH0ObG6o6YFvXI7Cu8u7qzke_hl7c0-YRo_QM4fy2K6p7m1K7eyOmvPSeoH6SDud8vR08Obuxk2xjVNtkZ1zbLHKoCIqyBJtVlQpIGTxhqoaQxJ1_dYLXCj7m6Me7c1P5E7Qz81mN-lX0uSHEMgI5g6ATq7sH5gWlTvZnbVQKaJOt6-PBiYzfGjOYxw7sd1wKVflHP8mpv-7SiI9ALJitxVFKkn9TBqGXmT-zjX9_ug4SNTnuC-CbBsNGnQLcOeN_i7DStRlHS3TIc-NdhapzYedZjevZ9jqT8TMEzOp4DB9ToqUrgCBME6c_RjDlPT4EJHDFA5N8Ff0CS8rcTAybNLeh2BBDZ1xhtUMyIHBx2jyaApHfXIT Host: localhost:18246 Referer: http://localhost:18246/Friends/Create User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90" X-Requested-With: XMLHttpRequest sec-ch-ua-mobile: ?0 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 16:01 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir Он выдает ошибку, что не может сделать следующее преобразование: Ну конечно не может - как ты SelectListItem приведешь к Street. Тебе надо просто без всякого каста: Код: c# 1. 2. 3. 4. 5.
А в паршиале: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 17:27 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
Vlad__i__mir Возможно я не верно понял автора ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 22:00 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 22:32 |
|
Не обновляется список объектов шаблона представления после GET-запроса к контроллеру в asp
|
|||
---|---|---|---|
#18+
fkthat Vlad__i__mir Он выдает ошибку, что не может сделать следующее преобразование: Ну конечно не может - как ты SelectListItem приведешь к Street. Тебе надо просто без всякого каста: Код: c# 1. 2. 3. 4. 5.
А в паршиале: Код: c# 1.
Shocker.Pro Спасибо за помощь! Это работает ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 07:54 |
|
|
start [/forum/topic.php?fid=18&msg=40066263&tid=1354539]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 278ms |
total: | 401ms |
0 / 0 |