404 Ошибка в методах действия контроллера после развертывания на удаленном сервере - PullRequest
2 голосов
/ 18 января 2020

. JS Файл

$("#drpdwn").change(function ()
{
    var filter1 = document.getElementById("drpdwn").value;
    window.location = '/Controller/GetByFilter?filter=' + filter1;
});

Метод действия в контроллере:

public ActionResult GetByFilter(string filter)
{
    var model = obj.GetByFilter(filter);
    return View(model);
}

Это выдает 404 на сервере, но работает как положено на localhost. проблема с частью URL, и я понятия не имею, как ее исправить.

Ответы [ 2 ]

1 голос
/ 18 января 2020

При развертывании на удаленном сервере есть несколько вещей, если вы развернете на root, тогда он будет работать, то есть http://www.example.com

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

i.e. window.location = '/[virdir]/Controller/GetByFilter?filter=' + filter1;

So best option will be use absolute url instead of relative to the application.

i.e. window.location = 'http://www.example.com/Controller/GetByFilter?filter=' +filter1;

or window.location = 'http://www.example.com/myapp/Controller/GetByFilter?filter=' +filter1;
0 голосов
/ 27 января 2020

Вы можете использовать что-то вроде этого

window.location.href = "@ Url.Action (" ActionName "," ControllerName ")";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...