Je suis nouveau à MVC !
J'essaie d'utiliser deux listes déroulantes (Villes, Catégories) dans une PartialView qui sera utilisée dans la MasterPage, ce qui signifie qu'elles seront visibles en permanence.
J'ai essayé de les charger dans HomeCOntroller, mais cela n'a pas fonctionné. J'ai obtenu une exception.
J'ai lu quelque chose sur la création d'un baseController dont les autres contrôleurs hériteront, j'ai essayé, en quelque sorte, mais je pense que je fais quelque chose de mal.
C'est le seul code que j'ai reçu aujourd'hui :
Page principale
<% Html.RenderPartial("SearchForm"); %>
Vue partielle (SearchForm.ascx)
<% using (Html.BeginForm("Search", "Search")) { %>
<% } %> // dont know why I need two BeginForms, if I dont have this the other form won't trigger at all! Weird!
<% using (Html.BeginForm("Search", "Search", FormMethod.Get)) { %>
<%= Html.DropDownList("SearchForm.Category", new SelectList(ViewData["Categories"] as IEnumerable, "ID", "Name", "--All categories--")) %>
<%= Html.DropDownList("Search.City", Model.Cities, "--All cities--") %>
<input name="search" type="text" size="16" id="search" />
<input type="submit" id="test" title="Search" />
<% } %>
Deux questions :
- Le problème est de savoir où et comment charger les listes déroulantes. J'ai essayé de les charger dans le HomeController, mais lorsque je vais sur une autre page, le système me dit que les DDL sont vides et j'obtiens une Excecption.
- Pourquoi dois-je utiliser deux formulaires pour que l'ActionMethod se déclenche ?
J'espère que quelqu'un pourra m'aider !