Как предотвратить прямой вызов метода действия?

Я разрабатываю решение типа мастера в MVC2, и я хотел бы запретить пользователям переходить к шагу 2 напрямую, однако я все же хотел бы, чтобы оно отображалось вверх в URL.

Кроме того, поскольку прогресс может быть сохранен в любое время, мне все же хотелось бы иметь возможность программно перейти к Шагу 2. Как я могу это сделать?

[HttpGet]
        public ActionResult Step1() {

            return View("Step1View");
        }

        [HttpPost]
        public ActionResult Step1(Stuff s) {

            return RedirectToAction("Step2", new { S = s });
        }

        [HttpGet] //<-- how do I stop users going directly here
        public ActionResult Step2(Stuff s) {


            return View();
        }

        [HttpPost]
        public ActionResult Step2(Stuff2 s) {


            return RedirectToAction("Step3");
        }
9
задан 6 October 2010 в 10:42
поделиться