ASP.NET MVC Ajaxリンク付きのアドレスアドレスバーを更新します
-
01-10-2019 - |
質問
順番の各写真にajax駆動型ギャラリーを作成しようとしています。 Ajax.Actionlink
.
ユーザーは、パラメーターをアクションメソッドに渡すことで、任意の写真を撮ることができます。 Gallery/Index?photo=100
問題は、ユーザーが写真をサイクリングしているときです Ajax.Actionlink
URLが更新されなくなった(通常のポストバック中の方法)ので、アドレスバーから貼り付けをコピーして写真に戻ることはできません。
私の質問は、ASP.NET MVCでこの問題を解決するための最良の方法は何ですか?私が考えていたことの1つは、ハッシュタグでアドレスバーを更新することでしたが、率直に言って、これが良いアプローチかどうかはわかりません。
この問題を解決する方法に関するベストプラクティスのアドバイスを使用できます。どんな提案でも大歓迎です、ありがとう。
解決
Ajaxアップデートごとにアドレスバーを本当に更新したい場合は、このブログ投稿で説明できるように使用できるJQuery / JavaScriptライブラリがいくつかあります。 http://stephenwalther.com/archive/2010/04/08/jquery-asp-net-and-browser-history
ただし、ベストプラクティスソリューションは通常、このようなものを偽造しようとしないことです(間違いなくなります)。ユーザーに写真を共有またはリンクする機能を提供する場合は、コピーできるURLに適切なURLまたはパーマリンクをフィールドに提供することです。 Google Mapsには、この良い例があります - あなたが他の誰かと地図を共有したいなら。
他のヒント
パスに写真付き身分証明書を含めるようにルートを書き換えることを検討します。
例、/gallery/index/100の代わりに写真= 100。これが、QueryStringがルートの一部ではないため、ActionLinkメソッドがどのように機能するかを機能させていない理由です。