0 asp.net-mvc session-state back-button
我们正在使用 ASP.NET MVC 实现一个简单的电话簿网站。它将使用 JQuery Mobile Framework 针对移动设备进行优化。该网站基本上由搜索表单、结果页面和详细信息页面组成。
工作流程
填写搜索表单,发布到结果控制器,显示结果。用户选择一个结果并获取该单个结果的详细信息。详细信息显示在单独的网站上。站点获取单个结果的 id 作为 get 参数,填充 DetailModel 并将模型传递给视图以呈现它。
工作正常
进行搜索、获取结果、显示详细信息效果很好。进行搜索、获取结果、导航回搜索、细化字段、搜索......有效查找。
问题
进行搜索,获取结果,显示详细信息,然后返回结果页面......我如何获得最新的搜索结果?这是一个 GET 请求。模型 (RequestResults) 为空。我应该如何存储这些信息?会议?实现这样的要求的“正确方法”是什么?
感谢您提供正确方向的任何提示亚历克斯
更新时间18:12
澄清当前的工作流程是怎样的: 搜索表单通过 POST 提交到结果页面。结果页面获取 SearchRequestModel 的实例并针对数据库运行搜索。然后显示结果。每个结果都包含一个指向详细信息页面的链接,显示有关此特定结果的更多信息。该链接通过 GET 调用。点击此链接后,有关我的初始搜索请求和结果的所有信息都会丢失。如何返回结果视图?
有人知道面临这个问题的实现吗?
问题在于该页面被浏览器缓存,因此控制器操作未执行。在 ASP.NET MVC 中,您可以使用以下代码修饰操作来避免这种情况:
[OutputCache(NoStore = true, Duration = 1)]
Run Code Online (Sandbox Code Playgroud)
这告诉浏览器不要使用缓存并执行服务器代码。您还可以为所有操作指定此选项,但不建议这样做,因为在许多情况下,最好从缓存中获取页面,因为这样不会导致任何问题并最大限度地减少资源的使用。
| 归档时间: |
|
| 查看次数: |
7136 次 |
| 最近记录: |