Dans mon application ASP.NET MVC je le champ de saisie GET suivante:Comment obtenir Html.BeginForm GET pour corriger MVC Route
<% using (Html.BeginForm("Search", "Products", FormMethod.Get) { %>
<input type="text" name="searchQuery" id="searchQuery" />
<% } %
Je veux que cela aller à la route:
routes.MapRoute("ProductSearchRoute",
"Products/Search/{searchQuery}/{pageNumber}",
new { controller = "Products", action = "Search", pageNumber = 1 });
Le problème est, il va à/produits comme chaîne de requête, par exemple Produits? SearchQuery = Motoroil. Comment puis-je l'utiliser pour utiliser mon ProductSearchRoute et former/Products/Search/Motoroil?
C'est 1/2 chemin. Il crée toujours la chaîne de requête "?": Http: // localhost: 8820/Products/Search /? SearchQuery = test – Alex
Fondamentalement, comment puis-je comprendre que mon entrée "searchQuery" correspond à/Products/Search/{searchQuery } <- Mettez la valeur au lieu de {searchQuery} – Alex
Je suis à peu près sûr qu'il n'y a aucun moyen de le faire. Les méthodes HTML Helper restituent une balise de formulaire au navigateur, mais rien ne modifie l'attribut cible du formulaire en fonction de l'entrée de l'utilisateur * après * le rendu du formulaire. Vous devrez utiliser javascript, je pense. – womp