0

J'ai une forme dans un PartialViewMVC problème de routage, besoin d'aide pour insérer paramètre

 @using (Html.BeginForm(null, null, new { controller = "Module", action="ModuleIndex", module="" }, FormMethod.Get, new { id = "frmMDR" })) 
     { 
      @Html.RadioButton("mdrSelector", "Maintenance", false, new { id = "rdoMaintenance" })<label for="rdoMaintenance">M</label> 
      @Html.RadioButton("mdrSelector", "Diagnostics", false, new { id = "rdoDiagnostics" })<label for="rdoDiagnostics">D</label> 
      @Html.RadioButton("mdrSelector", "Repair", false, new { id = "rdoRepair" })<label for="rdoRepair">R</label> 
      @Html.Hidden("hdnVehicle", null, new { id="hdnVehicle"}) 
     } 

Quand je choisis un bouton radio, comment puis-je remplir le paramètre de module avec la valeur des boutons radio sélectionnée? J'utilise jQuery pour soumettre le formulaire sur l'événement de changement de boutons radio.

$(':radio').change(function() { 

      $('#frmMDR').submit(); 
     }); 

Voici ma méthode de commande

public ActionResult ModuleIndex(string module) 
    { 

     switch (module) 
     { 
      case "Maintenance": 
       return RedirectToRoute(new { area = module, controller = "Maintenance" }); 

      case "Diagnostics": 
       return RedirectToRoute(new { area = module, controller = "Diagnostics" }); 

      case "Repair": 
       return RedirectToRoute(new { area = module, controller = "Repair" }); 

      default: 
       return RedirectToRoute(new { area = module, controller = "Maintenance" }); 

     } 

    } 

et enfin voici ma config de routage

routes.MapRoute(
      "Module", // Route name 
      "Module/ModuleIndex/{module}", 
      new { controller = "Module", action = "ModuleIndex", module = "" } 
     ); 

Qu'est-ce que je ne fait pas correctement? Tous les conseils ou l'aide sont toujours appréciés.

Cordialement,
~ ck à San Diego

Répondre

0

Selon le premier exemple sur this site msdn, le premier argument de chaîne doit être le même que le nom de l'argument du contrôleur:

@Html.RadioButton("module", "Maintenance", false) 
@Html.RadioButton("module", "Diagnostics", false) 
@Html.RadioButton("module", "Repair", false) 
+0

oui, Cela a bien fonctionné. Merci beaucoup. J'ai également dû retirer le jeton de module dans mon routevlaues. Quoi qu'il en soit, merci beaucoup. – Hcabnettek

+0

Habituellement, vous marquez la réponse comme acceptée si cela fonctionne ... – m0sa

+0

Il ne me laisserait pas le corriger à ce moment parce que je venais de poser la question. Mais oui votre réponse était correcte et je l'ai marqué comme tel. Merci encore ami! :) – Hcabnettek