我正在尝试创建一个以AJAX驱动的画廊 Ajax.Actionlink.

用户可以通过将参数传递到操作方法,例如: Gallery/Index?photo=100

问题是,当用户与 Ajax.Actionlink``URL都不再被更新(在正常后背包期间的方式),因此他们不能从地址栏中复制粘贴以返回照片。


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

我可以使用一些有关如何解决此问题的最佳实践建议。任何建议都将不胜感激,谢谢。

有帮助吗?

解决方案

如果您真的想在每个AJAX更新中更新地址栏,则可以按照此博客文章所述使用的几个jQuery / javascript库: http://stephenwalther.com/archive/2010/04/08/jquery-asp-net-and-browser-history

但是,最好的实践解决方案通常是不尝试伪造这样的东西(它只会出错)。如果您想使用户能够共享或链接到照片的能力是为他们可以从中复制的URL提供适当的URL或永久链接的字段。 Google Maps有一个很好的例子 - 如果您想与其他人共享地图。

其他提示

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

例如,/画廊/索引/100而不是?photo = 100。这就是为什么您的ActionLink方法无法正常工作的原因,因为问题不是路线的一部分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top