J'essaie d'ajouter un champ de recherche à une page maître dans une application Web ASP.Net MVC. Ce qui me déroute est de savoir comment l'implémenter correctement dans la page maître. Donc, l'utilisateur tape des données dans cette boîte de recherche, comment les données doivent-elles être traitées à partir d'une perspective MVC? Je sais que je pourrais utiliser le code de la page principale, mais je ne devrais pas. J'essaie actuellement d'utiliser un contrôle utilisateur pour cela, mais je ne suis pas sûr de savoir comment l'implémenter correctement et les ressources en ligne semblent être limitées. Est-ce que la création d'un assistant HTML serait la meilleure? Pour résumer: Implémentez un champ de recherche dans la page maître MVC qui dirige vers un autre site Web et inclut la requête de l'utilisateur qu'ils ont saisie dans la zone de recherche.Ajouter un champ de recherche à un gabarit
Est-il préférable d'utiliser:
- Maître Page vi codebehind
- Un contrôle utilisateur
- Ou créer un Helper HTML distinct.
MISE À JOUR:
Ok, par les conseils de Reine3, je mis en œuvre un SearchController et utilisé le HTML Helper BeginForm pour générer une zone de recherche.
Action de contrôleur:
Function SearchWiki(ByVal q As String) As ActionResult
Return Redirect("http://home/search/Results.aspx?k=" & q & "&s=IT%20FAQ")
End Function
Et dans le Master Page:
<% Using Html.BeginForm("SearchWiki", "Search", FormMethod.Post)%>
<input type="text" name="q" />
<input type="submit" value="Search" />
<% End Using%>
Mais lorsque je tente de débogage, la fonction SearchWiki ne fait jamais appelé et, par conséquent, rien ne se passe quand je tapez dans la zone de recherche et appuyez sur Rechercher. Oubliez les commandes codebehind et utilisateur si vous voulez utiliser ASP.NET MVC.
Lorsque vous dites "rien ne se passe lorsque je tape dans le champ de recherche et que je clique sur Rechercher", êtes-vous sûr que ce n'est vraiment rien? Aucune requête HTTP n'est faite? – Larsenal
Installez FireBug - ce sera votre véritable IDE, pas VS ;-) Vous pouvez également utiliser Fiddler2. Ensuite, vous serez en mesure de vérifier si les demandes sont faites, à quelle URL, inspecter les paramètres, etc. – queen3