0

このようなリンクがいくつかあります

@Html.ActionLink("Receiving", "Index", "Receiving")

IE を使用してこのリンクをクリックすると、URL に # が追加されます。これは、リンクをたどった後に URL に表示されるものです。

http://localhost:47547/#/Receiving

ビューは正常にロードされます。しかし問題は、このビューのフォームが機能せず、何も起こらないことです。

URL を手動で入力して # を削除すると、フォームを含めてすべてが期待どおりに機能します

この # はどこから来て、どうすれば止められますか?

他のブラウザを使用している場合は表示されず、フォームはそれらのブラウザで正常に動作します。

更新: このサイトで jQuery モバイルを使用しているとは言いませんでしたが、これが問題を引き起こしている可能性があるとは思いもしませんでした。

ありがとう!

4

1 に答える 1

0

これは、jQuery Mobile が ajax ナビゲーションを処理する方法です。これについては、ドキュメントのAjax、ハッシュ、および履歴セクションで読むことができます。

デフォルトでは、jQuery Mobile 内のすべてのナビゲーションは、location.hash の変更と更新に基づいています。DOM に既に存在するか、Ajax を介して自動的に読み込まれるかに関係なく、可能な限り、ページの変更では、現在の「ページ」と次の「ページ」の間のスムーズな遷移が使用されます。

jQuery Mobile によって作成されたハッシュ値は、ロードされた最初の「実際の」ページの URL に対する絶対パスとして正規化されます。ハッシュは常に有効な URL として維持されるため、jQuery Mobile の任意の「ページ」をブックマークしたり、リンクで参照したりできます。非ハッシュベースの URL を取得するには、アドレスから # を削除してページを更新するだけです。

于 2012-10-11T12:23:35.820 に答える