2 votes

Erreur 404 dans les méthodes d'action du contrôleur après déploiement sur un serveur distant

Fichier .JS

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

Méthode d'action dans le contrôleur :

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

Le problème se situe au niveau de l'URL et je n'ai aucune idée de la manière de le résoudre.

1voto

LLM Points 367

Il y a certaines choses qui fonctionnent lorsque vous déployez sur un serveur distant, si vous déployez sur Root, c'est à dire http://www.example.com

Mais si vous avez ajouté une application ou un répertoire virtuel, vous devez également utiliser le répertoire virtuel.

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;

0voto

dead_webdev Points 11

Vous pourriez utiliser quelque chose comme ceci

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X