0

У меня есть форма в PartialViewMVC проблема маршрутизации, нужна помощь, чтобы вставить параметр

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

Когда я выбираю кнопку радио, как я могу заполнить параметр модуля с выбранной кнопкой радио значения? Я использую jQuery для отправки формы на событие изменения переключателей.

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

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

Вот мой метод контроллера

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

     } 

    } 

и, наконец, вот мой конфиг маршрутизации

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

Что я не делаю правильно? Любые советы или помощь всегда приветствуются.

Уважением,
~ ск в Сан-Диего

ответ

0

Согласно первому примеру на this MSDN сайт, первый аргумент строка должна быть такой же, как имя контроллера аргумента:

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

да, это отлично поработало. Большое спасибо. Мне пришлось удалить маркер модуля и в моих маршрутах. В любом случае, спасибо большое. – Hcabnettek

+0

Обычно вы отмечаете ответ как принятый, если он работает ... – m0sa

+0

Это не позволило мне отметить его правильно в то время, потому что я только что задал вопрос. Но да, ваш ответ был правильным, и я отметил его как таковой. Еще раз спасибо другу! :) – Hcabnettek