Rota com dois parâmetros opcionais no MVC3 não funcionando

Eu tenho os seguintes tipos de URL usados ​​no meu aplicativo.

localhost / admin / userdetail / id

localhost / admin / userdetail / id / true

localhost / admin / userdetail / id / true / success

Aqui está meu controlador de administração

bool inSaveAction, o status da string é opcional

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

Abaixo do caso não está funcionando

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

Em Global.asax

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

eu seguihttp://haacked.com/archive/2011/02/20/routing-regression-with-two-consecutive-optional-url-parameters.aspx

Como posso fazer inSaveAction & status como parâmetro opcional para minha ação de UserDetail?

questionAnswers(2)

yourAnswerToTheQuestion