2016-01-13 3 views
0

У меня проблема с приложением, которое я разрабатываю с использованием плагина Knockout и Knockout.mapping с частичными представлениями MVC.Кноширование нокаутов по частичным представлениям - Обновление силы

фон

Я хочу реализовать портал, где пользователи могут иметь разные профили, так что я даю им возможность выбрать, сколько профилей они хотят и назвать их. После этого они переходят на следующую страницу, где они настраивают свои профили, каждый профиль состоит из одних и тех же атрибутов и полей, в конце концов все они переходят в одну и ту же таблицу, только с другим «идентификатором»

Текущий сценарий

у меня есть вид только с одной раскрывающегося списка, в котором перечислены названия различных профилей, когда выбран профиль, PartialView визуализируется для отображения редактируемого информации пользователям, здесь Я использую нокаут, чтобы пользователи добавляли/удаляли атрибуты на стороне клиента, а затем с помощью запроса Ajax я отправлял эти изменения в базу данных. В методе Post на контроллере я возвращаю объект JSON для обновления привязки к нокауту ViewModel, и я могу сделать это успешно. пока что так хорошо, не так ли?

Выпуск

После того, как пользователи Сохраненный один из их профилей они, вероятно, идут, чтобы изменить следующий, делать что угодно, и, возможно, вернуться к профилям они уже отредактирован. Здесь возникает проблема: информация, отображаемая на странице, является той, которую они изначально имели, а это значит, старой. Я прорисовал все, и хотя данные в базе данных в порядке, дело в том, что браузер даже не запрашивает Info снова на сервере, это значит, что, вероятно, кэшируется ?, если да, то как я могу заставить браузер всегда запрашивать информацию с сервера или обновлять кешированный viewModel?

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

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")] 

ответ

0

я, наконец, понял, что не нужно делать с Knockout, но только общее кэширование, способ решить это, чтобы отключить кэширование в контроллере, который будет возвращать частичный вид, добавив этот код:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")] 
Смежные вопросы