Состояние сеанса стирается после вызова RedirectToAction () в ASP.NET MVC 3 - PullRequest
1 голос
/ 01 октября 2011

Я использую простые последовательности:

  1. Установка состояния сеанса в методе [HttpGet].
  2. Перенаправление на другое действие с помощью RedirectToAction () в методе [HttpPost].
  3. Хотите получить значение этого состояния сеанса в месте назначения.

Проблема:

Если пользователь нажимает кнопку "отправить" в моем представлении "Таблица", вседанные в сеансе очищены, и я не могу получить их в действии назначения (это «Таблица»).Вот код:

   [HttpGet]
    public ActionResult Edit(string TableName, int RowID, NavigationControl nav)
    {
        if (nav != null) Session["NavigationData"] = nav;

        myService svc = new myService (_repository);
        EditViewModel model = new EditViewModel();

        model.TableDefinitions = svc.GetTableDefinition(TableName);
        model.RowData = svc.GetRowData(model.TableDefinitions.Name, RowID);

        return View(model);
    }

    [HttpPost]
    public ActionResult Edit(EditViewModel model)
    {
        MyService svc = new MyService (_repository);
        svc.SaveRowData(model.TableDefinitions.Name, model.RowData);
        return RedirectToAction("Table");
    }

    public ActionResult Table(string TableName)
    {
        myService svc = new myService (_repository);

        TableViewModel model = new TableViewModel();
        model.TableDefinition = svc.GetTableDefinition(TableName);

        NavigationControl nav = (NavigationControl)Session["NavigationData"];
        if (nav != null)
        {
            model.NavigationControl = nav;
        }

        return View(model);
    }

, и Session ["NavigationData"] всегда равен нулю, когда пользователь достигает его через: return RedirectToAction ("Table").Если пользователь нажимает ссылку HTML в представлении «Редактировать», Session ["NavigationData"] может восстановить его значение в методе «Таблица»!

Есть идеи о том, что происходит?Кто удаляет состояние сеанса?!

1 Ответ

0 голосов
/ 17 апреля 2013

Мой cookie-файл в браузере отключен, но состояние не установлено как cookie-файл.

...