J'ai un simple formulaire sur une page vue, mis en œuvre en tant que contrôle utilisateur, qui ressemble à ceci:La mise en œuvre formulaires dans ASP.net MVC
<%=Html.BeginForm("List", "Building", FormMethod.Post) %>
//several fields go here
<%Html.EndForm(); %>
Il y a deux problèmes que je voudrais résolus, le premier est que je voudrais que la méthode de contrôleur qui reçoit ceci prenne un paramètre de type du contrôle d'utilisateur. L'objectif est d'éviter de placer tous les champs du formulaire dans la liste des paramètres de la méthode. La méthode du contrôleur ressemble actuellement à ceci:
[AcceptVerbs("Post")]
public ActionResult List(string capacityAmount)
{
ProfilerDataDataContext context = new ProfilerDataDataContext();
IEnumerable<Building> result = context.Buildings.OrderBy(p => p.SchoolName);
ViewData["Boroughs"] = new SelectList(Boroughs.BoroughsDropDown());
return View(result);
}
Le reste des champs du formulaire sera utilisé pour effectuer une recherche contre le type de bâtiments.
La forme des messages bien, je peux chercher sur la capacité de la façon que vous attendez, mais je peux sentir la laideur en avant que j'ajoute des paramètres à la recherche. Deuxièmement, le plus petit problème est que lorsque la page rend la balise BeginForm rend la chaîne "System.Web.Mvc.Form" à la page. Comment puis-je faire disparaître cela?
J'utilise votre suggestion d'utilisation, mais la méthode du contrôleur ne se déclenche jamais. Il me manque quelque chose d'autre ... – KevDog
Que se passe-t-il lorsque vous soumettez? –
Si rien ne se passe, alors je regarderais attentivement ce qui est soumis au serveur. J'utilise généralement firebug pour cela. Si le formulaire ne soumet rien ou la mauvaise chose, vérifiez votre HTML rendu. –