2

我正在尝试创建一个 ajax 驱动的画廊,其中序列中的每张照片都加载了Ajax.Actionlink.

用户可以通过将参数传递给操作方法来获取任何给定的照片,例如:Gallery/Index?photo=100

问题是,当用户使用Ajax.Actionlink's 循环浏览照片时,URL 不再更新(正常回发期间的方式),因此他们无法从地址栏中复制粘贴以返回照片。


我的问题是:在 ASP.NET MVC 中解决此问题的最佳方法是什么?我正在考虑的一件事是使用主题标签更新地址栏,但坦率地说,我不知道这是否是一个好方法。

我可以使用一些最佳实践建议来解决这个问题。任何建议将不胜感激,谢谢。

4

2 回答 2

2

如果您真的想在每次 ajax 更新时更新地址栏,可以使用一些 jquery / javascript 库,如本博文中所述:http: //stephenwalther.com/archive/2010/04/08/jquery- asp 网络和浏览器历史记录

但是,最佳实践解决方案通常是不要尝试伪造这样的东西(它只会出错)。如果您想让您的用户能够共享或链接到照片,请提供一个带有适当 url 的字段或指向他们可以从中复制的 url 的永久链接。谷歌地图就是一个很好的例子——如果你想与其他人共享地图。

于 2010-09-07T20:05:15.873 回答
0

我会考虑重写您的路线以在路径中包含照片 ID。

例如,/Gallery/Index/100 而不是 ?photo=100。这就是为什么您的 ActionLink 方法无法正常工作的原因,因为查询字符串不是路由的一部分。

于 2010-09-07T11:45:30.997 回答