0

Ich habe ein Formular in einem PartialViewMVC Routing-Problem, brauche Hilfe einfügen Parameter

 @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"}) 
     } 

Wenn ich einen Radiobutton wählen, wie kann ich den Modulparameter mit dem ausgewählten Optionsschaltflächen Wert bevölkern? Ich benutze jQuery, um das Formular auf dem Optionsschalter Event zu senden.

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

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

Hier ist mein Controller-Methode

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" }); 

     } 

    } 

und schließlich hier ist mein Routing-Config

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

Was bin ich nicht richtig gemacht? Irgendwelche Tipps oder Hilfe wird immer geschätzt.

Mit freundlichen Grüßen,
~ ck in San Diego

Antwort

0

Nach dem ersten Beispiel auf this Msdn Website, die erste String-Argument das gleiche wie das Controller Argument Name sein muss:

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

ja, das hat super funktioniert. Vielen Dank. Ich musste das Modul-Token auch in meinen Routevalues ​​entfernen. Wie auch immer, vielen Dank. – Hcabnettek

+0

Normalerweise markieren Sie die Antwort als akzeptiert, wenn es funktioniert ... – m0sa

+0

Es würde mich nicht zu der Zeit als richtig markieren, weil ich gerade die Frage gestellt hatte. Aber ja, deine Antwort war richtig und ich habe sie als solche markiert. Danke nochmal Freund! :) – Hcabnettek