Javascript MVC3::从详细信息视图导航表,而不是单击表中的详细信息链接
我有一个索引视图,显示表中的项目列表。 每个项目都有一个显示其详细信息的链接(另一个通过Ajax加载的partialview,取代了索引视图) 单击详细信息链接后,用户现在希望查看“下一项”或“上一项”的详细信息。我们目前有一个反向链接,可以再次获取索引视图。。。用户可以点击任何项目。。。但她想要的是更实用 由于项目列表可能已被过滤,我认为实现这一点的唯一方法是通过jQuery或纯JS 我在考虑在某个隐藏字段中存储所有物品的ID。。。不存储在索引视图中(一旦访问详细信息,它就会消失),以便能够从详细信息中访问它并创建下一个链接。但是它感觉很脏。。。仅仅列出ID是不够的,因为我应该跟踪哪个是当前ID,以便查看哪个是下一个和上一个项目。所以也许JSON可以做到这一点Javascript MVC3::从详细信息视图导航表,而不是单击表中的详细信息链接,javascript,jquery,asp.net-mvc,json,Javascript,Jquery,Asp.net Mvc,Json,我有一个索引视图,显示表中的项目列表。 每个项目都有一个显示其详细信息的链接(另一个通过Ajax加载的partialview,取代了索引视图) 单击详细信息链接后,用户现在希望查看“下一项”或“上一项”的详细信息。我们目前有一个反向链接,可以再次获取索引视图。。。用户可以点击任何项目。。。但她想要的是更实用 由于项目列表可能已被过滤,我认为实现这一点的唯一方法是通过jQuery或纯JS 我在考虑在某个隐藏字段中存储所有物品的ID。。。不存储在索引视图中(一旦访问详细信息,它就会消失),以便能够从
在客户端存储列表的任何建议或其他方法?列表可能包含10到200个项目,一旦我再次筛选索引视图或通过其他事件,这些项目将被刷新。好的,您可以显示详细信息的覆盖,而不是替换索引视图,在这种情况下,当用户单击“上一步/下一步”时,您会告诉索引视图层:“听着,我正在显示x,但是用户希望看到x+1,所以请用x+1替换我”我可以看到的几种方法
ActionResult
,将返回绑定到该id数据的部分视图,从而进入本地列表中的下一个id。我最喜欢这种方法,因为它不需要在每个细节导航中往返id,也不需要大量自定义javascript从呈现的页面访问ID。它使您有机会使用加载面板,以防检索数据需要一些时间会话
,但如果您处于负载平衡环境中,没有粘性会话,请小心。这样,您就可以在服务器端访问当前筛选的结果。您的导航请求只会发送当前ID和所需的导航方向。在您的控制器中,只需拉动会话,查找ID并向前或向后移动您的指针(小心环绕,否则请确保您有办法不渲染会导致环绕的导航按钮)
在这些选择中,我喜欢#3最佳用户体验,尤其是如果细节太大,无法像选项#1那样在一个小模式或对话框中很好地呈现时。它也可能是响应最快的,并且假设您应用了旁白,您可以访问列表的POCO表示,而不是在JavaScript中序列化和反序列化。如果细节页面太小,它会很容易融入对话框或模态窗口,我会考虑1。它可以像选项#1一样具有响应性,并且您仍然可以使用aside来避免在JavaScript中操纵ID
我之所以不考虑选项3的优先级,唯一的原因是我们的用户体验人员经常拒绝客户对显示数据的“弹出窗口”的请求。她讨厌他们。我还没有弄清楚这是个人的决定,还是因为用户体验的最佳实践告诉了我这个决定,但这是我从未擅长过的事情,所以我没有兴趣去发现