Проблема маршрутизации MVC, нужна помощь для вставки параметра - PullRequest
0 голосов
/ 15 декабря 2010

У меня есть форма в partView

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

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

С уважением,
~ ck в Сан-Диего

1 Ответ

0 голосов
/ 15 декабря 2010

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

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