シンプルなasp.netアプリケーション(webforms)を構築しようとしています。クライアントでルーティングを行いたいと思います。これはSPAです。asp.netクライアントルーティングwith page.js
私はルーティングを処理するためにpage.jsライブラリを使用しています。私の開発環境はVisual Studio 2015 Enterpriseです。すべてのURL要求のために、index.htmlをは(ルーティングは、クライアントで処理されるため)ロードされていること。これは、サーバー側でルーティング
page('/admin', display_admin);
page('/items/:sub/:id', display_item);
の一例であり、適切なルートハンドラはIセットアップの事ですので、呼び出されて実行されます。私が持っているweb.configファイルで:
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<rewrite>
<rules>
<!--Redirect selected traffic to index -->
<rule name="Index Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_URI}" matchType="Pattern" pattern="^/api/" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
カスタムURLがこの形式である「/ XXX」は、例えば「/管理者」、「/アイテム」などときASP.NET 5 and AngularJS Part 3, Adding Client Routing
すべてが正常に動作します。この資料を参照してください。 ...しかし、 '/ xxx/yyy/zzz'という形式のパスがある複雑なURLではうまくいきません。例: 'items/cars/10'。 Visual Studioでのアプリケーションcrachesをデバッグ中:
あなたは、サーバー(Visual Studioで埋め込まれたWebサーバ)がローカルホスト「でフォルダから「1」ページのためのリソースをロードしようとしていることがわかります:ポート/アイテム/ c/'はもちろん存在しません。このリクエストは、 'index.html'ページをリダイレクトするサーバーには届きません。
asp.net(.htmlファイルで、.aspxファイルではない)と複雑なURLパスでクライアント側ルーティングを実装するにはどうすればよいですか?
I(...光IISのバージョンである)、これはVisual Studioで埋め込まれたWebサーバに関連する問題であることを推測してい
すべてのヘルプ、任意のヒントを大幅に
をいただければ幸いありがとうのStackOverflowコミュニティ
スクリプトで絶対パスを使用しますか? –
これはpage.jsの動作です。 express.jsの動作を模倣しようとしますが、クライアントでは – TheSoul
だから、あなたはindex.htmlにブートストラップのリファレンスを書きませんでした。 –