Сбой перенаправления asp.net на неопределенный идентификатор - PullRequest
0 голосов
/ 22 ноября 2018

На тестовом сайте после входа пользователя происходит сбой перенаправления.

Маршрут перенаправляется с

http://localhost:56380/Account/Logon

на

http://localhost:7000/Account/undefined

, что дает 404.

Пользователь сразу переходит на страницу входа, поэтому returnUrl является пустым.

DestinationPageUrl пусто.

Я считаю, что

RouteData.Route.Url установлен на "{controller} / {action} / {id}", поэтому я думаю, что идентификатор как-то не определен.

На производственном сайте я не могу отследить серверный код, но с F12 похоже, что он собирается

https://exampledomain.net/Account/

, который затем переходит на

https://exampledomain.net

и это работает.

В процессе поиска я нашел документацию о том, как настроить маршрут "{controller} / {action} / {id}", но ничего не говорится о том, как заполняется идентификатор или как его отладить.

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Проблема заключалась в ошибке в javascript (вызванной исправлением ошибок lint).
Это было

   var returnUrl = $("#hf-account-returnurl").val();
   if (returnUrl == null)

Lint пожаловался на == и рекомендовал изменить его на ===

   if (returnUrl === null)

$ ("# hf-account-returnurl"). Val () возвращает неопределенное значение, если оно не определено.Это была подсказка, которая, наконец, заставила нас взглянуть на код JS.
Undefined == null, но это не === null.

0 голосов
/ 22 ноября 2018

Ваш идентификатор установлен на UrlParameter.Optional?

...