2015-01-14 4 views
0

У меня есть метод контроллера для отображения пользователей в нашей системе. Я создал страницу для добавления пользователей. Для этого я использую модель представления и строительные леса. У меня есть метод контроллера, чтобы обслуживать страницу методом контроллера для обработки сообщения.Документ готов не вызывается в javascript после RedirctToAction

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

[Authorize] 
    [HttpPost] 
    public ActionResult NewUser(EditPSUserModel model) 
    { 
     var manager = AdminConsoleHelper.createUserManager(); 
     AdminConsoleHelper.AddUser(model.UserName, model.Password, model.IsAdmin, model.UserGroup, manager); 
     return RedirectToAction("Index", "User"); 
     } 

такой красивый материал там. Метод страницы контроллер Мой список выглядит следующим образом:

[Authorize] 
     [OutputCache(Duration=0)] 
     public ActionResult Index() 
     { 
      PSUsersModel m = new PSUsersModel(); 
      return View(m); 
     } 

Я пытался играть с кэшем вывода (установка в NoStore и играть с профилем кэша, а), но это, кажется, не имеют никакого эффекта чтобы документ был готов к стрельбе. Я также пытался принудительно изменить datamodel в методе контроллера индекса (списка), и он по-прежнему остается кешированным.

Любые идеи?

ответ

1

если это просто вопрос кэширования, то добавление времени дата печать трюк для этого вопроса

return RedirectToAction("Index", "User", new { date = DateTime.Now }); 

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

+0

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

+0

Это было очень хорошее предложение, я уверен, что это пригодится, когда я проеду свой путь через MVC4. –

0

Хорошо, я понял. Используя этот атрибут:

[OutputCache(Duration=0)] 

: У меня готовый документ готов, я должен был добавить его в метод контроллера List. Другая проблема заключалась в том, что она, по-видимому, кэшировала мои вызовы JSON, поэтому мой список не обновлялся, потому что метод HTTPGet, который я использовал, был кэширован. Я добавил тот же атрибут, что и выше, к моему методу HTTPGet, чтобы получить список пользователей, и теперь он обновляется.

Смежные вопросы