MVC4 - Un formulaire de 2 boutons de soumission
J'ai suivi les instructions sur ce post:
Asp.net mvc3 rasoir avec plusieurs boutons de soumission
et voici mon modèle:
public class AdminModel
{
public string Command { get; set; }
}
Mon Contrôleur
[HttpPost]
public ActionResult Admin(List<AdminModel> model)
{
string s = model.Command;
}
Mon Point De Vue
@using (Html.BeginForm("Admin", "Account"))
{
<input type="submit" name="Command" value="Deactivate"/>
<input type="submit" name="Command" value="Delete"/>
}
Quand je poste arrière, la chaîne "s" est toujours null.
J'ai aussi essayé la deuxième réponse (l'un avec 146 voix) dans ce post sur le forum : Comment gérez-vous plusieurs boutons de soumission en ASP.NET Framework MVC? et c'est également nulle. Ce que je fais mal?
stackoverflow.com/questions/2423041/... Comment à ce sujet?
OriginalL'auteur Vijay V | 2012-04-20
Vous devez vous connecter pour publier un commentaire.
vous avez besoin pour prendre la valeur de leur côté serveur par le nom de la touche,
Notez que lors de l'utilisation de
<button>
balises et non<input>
balises, en appuyant sur Entrée dans l'un des champs de formulaire, leCommand
argument ne va pas se fixer et sera doncnull
. Vous pouvez gérer que par l'utilisation de Javascript pour capturer les principaux événements de presse, ou par un simple réglage de la valeur par défaut dans le contrôleur de l'action:public ActionResult Admin(List<AdminModel> model, string Command = "Deactivate")
OriginalL'auteur Jayantha Lal Sirisena
De ce que je peux voir dans la posté code, vous n'êtes pas à l'envoi d'une liste de modèles à votre contrôleur, juste une seule instance du modèle. Essayez de modifier le contrôleur:
OriginalL'auteur Derek Risling