【发布时间】:2017-01-05 16:18:02
【问题描述】:
我在使用 asp.net core 1.0 (mvc) 对商店进行编程时遇到以下情况:
- 我在购物篮中添加了 3 件产品。
- 在购物篮中,我使用 AJAX 请求删除了 3 个产品之一。删除产品后,我会继续下一步,并被重定向到包含送货和付款设置的页面
- 在包含交付和付款设置的页面上,我选择导航回购物篮。我希望看到 2 个产品,但我看到了 3 个,因为该页面尚未从服务器重新加载。
当我检查提琴手时,我注意到没有对购物篮的各种资源执行任何请求。
在我的 BaseController 类中,我已经设置了以下应该禁用缓存的代码:
[NonAction]
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
context.HttpContext.Response.Headers.Add("Cache-Control", "no-store, must-revalidate");
context.HttpContext.Response.Headers.Add("Expires", "0");
context.HttpContext.Response.Headers.Add("Pragma", "no-cache");
await next();
}
是否有人知道我们如何返回并查看仅包含 2 件产品的最新购物篮?
【问题讨论】:
-
我建议您在删除时返回产品列表,然后重新填充视图。后退按钮重新加载上次页面上的内容。
-
或者,如果您不担心紧缩,只要 ajax 请求成功,只需手动删除已删除的项目即可。
标签: ajax asp.net-core