Je suis assez nouveau pour MVC, cela peut sembler une question évidente, mais lorsque vous publiez sur mon ActionResult, le ActionResult est appelé, mais la vue ne change pas. Ce que je fais est d'avoir une page de recherche de base où un utilisateur peut rechercher ma base de données et les résultats sont retournés et paginés.
Voici javascript qui appelle ActionResult dans mon contrôleur.
function SubmitSearch() {
var searchBox = document.getElementById('searchBox');
$.post("MyController/SearchResults/",
{
searchString: searchBox.value,
page: 0
});
window.location = "../DriverStudio/Drivers/SearchResults/" + searchBox.value + '/0';
}
Ma solution actuelle (qui est un horrible hack) est de commenter le .post de $ (depuis mon itinéraire est mis en place d'une manière où le window.location appellera le SearchResutls ActionResult) et définir la fenêtre .location à ce que l'utilisateur a recherché, en commençant à la page 0.
Il doit y avoir une meilleure façon. Que devrais-je faire?
Merci tvan. Est-ce que ce doit être une vue partielle? Pourquoi ne pourrais-je pas retourner l'ensemble de la vue? – Darcy
@Darcy - ce serait essentiellement la même chose que de faire un post normal (non-AJAX). L'utilisation d'une vue partielle envoie uniquement les parties mises à jour, ce qui est un peu le point d'utiliser AJAX. – tvanfosson