Страницы MVC3 не обновляются - PullRequest
0 голосов
/ 25 октября 2011

Я столкнулся с проблемой, которую не могу исправить или даже обойти. На мой взгляд, у меня есть следующее:

@Html.Hidden("IsLocked", (Session["IsLocked"]) ? "true" : "")

Переменная Session ["IsLocked"] установлена ​​в моем BaseController, от которого наследуются все остальные контроллеры. Тем не менее, я обнаружил, что если я захожу на страницу, и она в настоящее время не заблокирована, и выполняет операцию блокировки и повторного посещения, это не изменит значение «IsLocked».

Кажется, я не могу понять, почему он не меняется, хотя значение Session изменилось?

1 Ответ

1 голос
/ 25 октября 2011

Похоже, что вы столкнулись с проблемой кэширования, поскольку страницы кэшируются с их начальным значением и, несмотря на изменение значения, при запросе страницы она просто извлекается из кэша.

Вы можете использовать атрибут OutputCache , чтобы помочь отключить кэширование для этих целей. Следующее гарантирует, что ваши действия / страницы не будут кэшироваться и что данные всегда будут «свежими»:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]
public abstract class BaseController : Controller

Вышеупомянутое может быть помещено поверх любого контроллера или действия, чтобы отключить кэширование для этого конкретного события. (В приведенном выше контексте, если поместить его в BaseController, он фактически отключит кэширование для каждого контроллера, производного от BaseController)

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