Tempdata в ASP.Net MVC с запросом JSON - PullRequest
       10

Tempdata в ASP.Net MVC с запросом JSON

1 голос
/ 19 августа 2009

У меня есть ActionResult, который устанавливает TempData как объект.

Отображаемая страница содержит кнопку, которая запускает JSON-запрос к тому же контроллеру. (Для населения jqGrid).

TempData в запросе JSON пуст - почему это происходит?

Еще более странно, если бы у меня была кнопка, которая отправляет сообщение на тот же контроллер, и я щелкаю ее вместо кнопки запроса JSON, там будет TempData, но если я нажму кнопку JSON, тогда кнопка публикации, TempData будет быть нулевым.

Помощь оценена.

Спасибо, Chris

1 Ответ

5 голосов
/ 19 августа 2009

Не пытайтесь передавать данные от одного действия к другому через TempData, когда не перенаправляет. TempData только для перенаправлений . Вполне вероятно, что какой-то другой элемент вашей страницы делает запрос до того, как вы нажмете кнопку, в результате чего элементы, которые вы спрятали в TempData, исчезнут. Вот почему TempData только для перенаправлений; только при перенаправлении вы можете иметь уверенность на всех в том, каким будет следующий запрос.

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

HTTP не имеет состояния. Учись жить с этим. Не пытайтесь представить состояние на вашем сервере; вы пожалеете об этом, если сделаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...