我有一个控制器方法,用于在我们的系统中显示用户。我创建了一个添加用户的页面。要做到这一点,我正在使用视图模型和脚手架。我有一个控制器方法来为页面提供控制器方法来处理帖子。
处理完保存后,我重定向回列表页面。我可以看到列表的控制器方法触发但它的文档就绪方法没有触发。文档就绪是我使用一些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");
}
那里非常基本的东西。 My List的页面控制器方法如下所示:
[Authorize]
[OutputCache(Duration=0)]
public ActionResult Index()
{
PSUsersModel m = new PSUsersModel();
return View(m);
}
我尝试过使用输出缓存(将其设置为NoStore并使用缓存配置文件进行播放),但这似乎对准备触发文档没有任何影响。我也尝试强制改变索引(列表)控制器方法上的数据模型,它仍然保持缓存。
有什么想法吗?
答案 0 :(得分:1)
如果它只是一个缓存问题,那么添加日期时间戳就是该问题的一个技巧
return RedirectToAction("Index", "User", new { date = DateTime.Now });
您不需要使用日期,但由于它是唯一的,因此会加载新版本的页面
答案 1 :(得分:0)
好的,我明白了。使用此属性:
[OutputCache(Duration=0)]
导致我的文档准备好了,我不得不将它添加到List的控制器方法中。另一个问题是它显然是在缓存我的JSON调用,所以我的列表没有被刷新,因为我使用的HTTPGet方法被缓存了。我在上面的HTTPGet方法中添加了与上面相同的属性来获取用户列表,现在又刷新了。