我正在尝试创建一个ajax驱动的图库,其中序列中的每张照片都加载了Ajax.Actionlink
。
用户可以通过将参数传递给操作方法来获取任何给定的照片,例如:Gallery/Index?photo=100
问题是,当用户使用Ajax.Actionlink
循环浏览照片时,网址不再更新(正常回发期间的方式),因此无法复制粘贴地址栏可以回到照片。
我的问题是:在ASP.NET MVC中解决此问题的最佳方法是什么?我想到的一件事是用地址栏更新地址栏,但坦率地说我不知道这是不是一个好办法。
我可以使用一些关于如何解决这个问题的最佳实践建议。非常感谢任何建议,谢谢。
答案 0 :(得分:2)
如果你真的想用每个ajax更新更新地址栏,你可以使用几个jquery / javascript库,如本博文中所述:http://stephenwalther.com/archive/2010/04/08/jquery-asp-net-and-browser-history
然而,最佳实践解决方案通常不是试图伪造这样的东西(它只会出错)。如果您希望为您的用户提供共享或链接到照片的功能,则可以为字段提供相应的网址或永久链接到他们可以复制的网址。谷歌地图有一个很好的例子 - 如果你想与其他人分享地图。
答案 1 :(得分:0)
我会考虑重写您的路线以在路径中包含照片ID。
例如,/ Gallery / Index / 100而不是?photo = 100。这就是为什么你的ActionLink方法不能正常工作的原因,因为查询字符串不是路由的一部分。