Cela ressemble à ce que vous voulez faire est d'appeler le contrôleur Livres, avec, par exemple, l'action de recherche. Ainsi, par exemple, vous pouvez appeler/Livres/Recherche/< recherche expression >/1 ou/Livres/Recherche/< expression de recherche >/2, etc. (Il y a quelques façons différentes, vous pourriez formatez ces URL, mais il est la plupart du temps une question de préférence personnelle, je pense) Si vous voulez que les URL apparaissent comme vous les avez ci-dessus (sans l'action dans l'URL), qui peut être accompli avec le routage, quelque chose comme ceci:
routes.MapRoute(
"Books",
"Books/{searchExpr}/{pageId}",
new { controller = "Books", action = "Search", searchExpr = "", pageId = 1 }
);
Je pense que le problème principal est que vous essayez d'utiliser le paradigme WebForms PostBack tout dans une situation où il est probablement préférable d'envoyer les informations au serveur dans l'URL ou la chaîne de requête. Le seul moment où vous êtes en train de passer à l'affichage des données de formulaire ici est lorsque l'utilisateur type en fait quelque chose dans la zone de recherche et clique sur le bouton de recherche - à ce moment-là, le contrôleur passera l'expression de recherche à la vue appropriée par la farce dans ViewData, et à partir de là, la vue peut le retirer et repeupler cette zone de texte sur la page de résultats.
remercie tout le monde pour leurs commentaires. J'ai réalisé la nuit dernière et en naviguant autour de StackoverFlow en utilisant les Urls différemment est le chemin à parcourir. Je vais prendre un peu de temps pour ne pas penser à la forme du web! Attendez-vous à plus de questions bientôt! :) –