Route mit Zwei optionalen Parametern in MVC3 nicht funktioniert

Ich habe folgende Arten von url in meiner Anwendung.

localhost/admin/userdetail/id

localhost/admin/userdetail/id/true

localhost/admin/userdetail/id/true/Erfolg

Hier ist mein Admin-Controller

bool inSaveAction, string status sind optional

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

Unten Fall nicht funktioniert

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

In Global.asax

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

Folgte ich http://haacked.com/archive/2011/02/20/routing-regression-with-two-consecutive-optional-url-parameters.aspx

Wie kann ich inSaveAction & status als optionaler parameter für meine UserDetail Aktion?

InformationsquelleAutor Murali Murugesan | 2013-01-05

Schreibe einen Kommentar