Trasa z dwoma opcjonalnymi parametrami w MVC3 nie działa

W aplikacji mam następujące typy adresów URL.

localhost / admin / userdetail / id

localhost / admin / userdetail / id / true

localhost / admin / userdetail / id / true / success

Oto mój kontroler administratora

bool inSaveAction, status łańcucha jest opcjonalny

    [Authorize]
    public ActionResult UserDetail(string Id, bool inSaveAction, string status)
    {
    }

    [HttpPost, Authorize, ValidateAntiForgeryToken]
    public ActionResult SaveUserDetail(UserDetailViewModel viewModel)
    {
        User userToSave = new User();
        AdminService.UpdateUser(userToSave);
        //This is calling the above function as it sending all 3 params
        return RedirectToAction("UserDetail", new { Id = viewModel.Id, 
                           inSaveAction = true, status = "success" });
    }

Poniżej sprawa nie działa

  @Html.ActionLink("DisplayName", "UserDetail", new { id = Model.Id })

W Global.asax

 routes.MapRoute("UserDetail",
            "UserDetail/{id}",
            new
            {
                controller = "Admin",
                action = "UserDetail",
                id = UrlParameter.Optional
            }
         );

podążałemhttp://haacked.com/archive/2011/02/20/routing-regression-with-two-consecutive-optional-url-parameters.aspx

Jak mogę zrobić inSaveAction i status jako opcjonalny parametr dla mojej akcji UserDetail?

questionAnswers(2)

yourAnswerToTheQuestion