как я могу сохранить свой URL когда мой сбой проверки в asp.net mvc действие контроллера

если я начинаюсь на странице Detail:

http:\\www.mysite.com\App\Detail

у меня есть действие контроллера под названием Обновление, которое обычно будет отзывать redirectToAction к странице детали. но у меня есть ошибка, которая фиксируется в проверке, и я должен возвратиться перед перенаправлением (чтобы не терять все мои ModelState). Вот мой код контроллера:

 public override ActionResult Update(Application entity)
    {
        base.Update(entity);
        if (!ModelState.IsValid)
        {
            return View("Detail", GetAppViewModel(entity.Id));
        }
      return RedirectToAction("Detail", new { id = entity.Id }) 

но теперь я вижу представление с сообщениями об ошибках проверки (поскольку я использую HTML.ValidationSummary ()), но URL похож на это:

http:\\www.mysite.com\App\Update

есть ли так или иначе, я могу избежать URL от изменения без некоторого взлома помещения modelstate в некоторые временные переменные? Есть ли лучшая практика здесь как единственные примеры, которые я видел, помещали ModelState в некоторый tempdata между вызовом redirectToAction.

5
задан leora 20 July 2010 в 10:49
поделиться