Comment récupérer l'élément sélectionné dans un groupe de boutons radio de l'application ASP.NET MVC?

StackOverflow https://stackoverflow.com/questions/1629115

Question

J'ai 2 groupes de boutons radio avec des liens correspondant à chacun des groupes de mon application ASP.NET MVC.

Ci-dessous, la capture d'écran pour plus de clarté:

texte de remplacement http://img21.imageshack.us/img21/7959/radiogroups .png

Lorsque je sélectionne le lien approprié, la valeur associée au groupe particulier doit être transmise à l'action du contrôleur.

Par exemple, dans le cas ci-dessus, en cliquant sur "lien 1", les valeurs A1 ou A2 doivent être transmises à la méthode d'action du contrôleur.

J'ai essayé de publier une publication sur la méthode d'action appropriée, mais la valeur associée au second lien est également transmise. Comment puis-je obtenir uniquement la valeur sélectionnée à partir du lien cliqué?

Était-ce utile?

La solution

Je voudrais utiliser une fonction javascript comme href du lien. Il lirait la valeur sélectionnée du groupe de boutons radio correspondant et l'ajouterait à une chaîne d'URL. Vous pouvez définir le window.location ou définir l'action de formulaire et soumettre.

Autres conseils

En utilisant javascript, vous pouvez effacer les valeurs des autres boutons radio avant de soumettre le formulaire.

Une autre solution peut être d'avoir un champ caché et de le renseigner avec la valeur appropriée en utilisant javascript chaque fois qu'un lien est cliqué. Ensuite, vous obtenez la valeur de ce champ et oubliez les radiobuttons.

Placez les deux boutons radio et le lien associé dans un formulaire séparé. Remplacez le lien par un bouton d'envoi (ou soumettez une image si vous souhaitez qu'il ressemble à un lien). Ainsi, vous aurez deux formulaires qui seront tous deux envoyés à la même action de contrôleur. Attribuez à votre bouton d'envoi un nom pouvant être utilisé dans l'action pour déterminer le bouton sur lequel l'utilisateur a cliqué. Vous pouvez également utiliser un champ caché. La première chose à faire dans l'action consiste à déterminer quel bouton a été cliqué, puis à lire les valeurs de requête appropriées pour les boutons radio.

Une autre alternative est de tout avoir dans le même formulaire avec deux boutons de soumission et des noms différents.

Afficher

@model MvcApplication2.Models.CountryModel
@using (Html.BeginForm())
{
            @Html.RadioButton("Gender", "Male" new { @checked = "checked" }) Male
            @Html.RadioButton("Gender", "Female")Female
            <input type="submit" text="submit"/>
}

MODÈLE

   public class CountryModel
    {
        public string Gender{ get; set; }

    }

CONTRÔLEUR

public ActionResult Index()
{                    
    return View();
}
[HttpPost]
public ActionResult Index(CountryModel model)
{
    //for radio button
    CountryModel dd = new CountryModel();
    string date1 = model.RDB;
    return View(model);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top