0

ExtJS を使用する単純な ASP MVC4 アプリケーションを作成します。

私のメイン ビューには、メインの employee.js ファイルへのリンクがあります。

<script src="app/employee.js" type="text/javascript"></script>

ローカル ネットワークのサーバーにアプリケーションを公開しています。私の開発マシンでは、urlhttp:\\local-iis\holidaysアプリケーションにアクセスすると、正しく読み込まれて表示されます。
しかし、同じネットワーク内の他の 3 台のコンピューターでは、ブラウザーがその js ファイルを見つけることができないため、エラーが発生します。

私のプロジェクト構造は次のようになります。

--holidays(プロジェクト名)
  +--アプリ
     +--myapp.js
  +--コントローラー
  +--モデル
  +--(残りの ASP フォルダー)

私の開発マシンhttp:\\local-iis\holidaysでは、クロムにアクセスしてソースを調べると、次の行が表示されます。

<script src="app/employee.js" type="text/javascript"></script>

そのエントリをロールオーバーした後

ここに画像の説明を入力

正しいパスが表示されます:

http:\\local-iis\holidays\app\employee.js  (I translated urlopy to holidays)

同じページ ソース ディレクトリ名の他のコンピュータでは削除されます ( holidays)

キャッシュのクリア、他のブラウザーのインストール、他のコンピューターへの切り替えを試みましたが、すべてが失敗しました。これが機能しているコンピューターと機能していないコンピューターがあります。

私は特定の解決策を求めているわけではありませんが、何かを始めるべきです。

これは MVC 4 での最初のプロジェクトであり、これらの URL を機能させるためにアプリケーションを構成する方法がわかりません。

アプリケーションがそのディレクトリ名を削除する理由がわかりません (ローカル iis サーバーのルートを参照しています)

ExtJS フォーラムで質問したところ、おそらく IIS または ASP の設定の問題であるとのことでした。

4

1 に答える 1

7

ASP.NET MVC アプリケーションで URL をハードコードしないでください。

<script src="app/myapp.js" type="text/javascript"></script>

ヘルパーを使用するだけです:

<script src="~/app/myapp.js" type="text/javascript"></script>

はヘルパーを~/app/myapp.js適切に通過し、アプリケーションがホストされている場所に関係なく、正しい URL を生成します。Url.Contentたとえば、アプリケーションが IIS Express でローカルにホストされている場合、次のようになります。

<script src="/app/myapp.js" type="text/javascript"></script>

IIS の仮想ディレクトリに展開すると、次のようになります。

<script src="/holidays/app/myapp.js" type="text/javascript"></script>

ヘルパーが対応します。

Razor v1.0 (ASP.NET MVC 3) では、ヘルパーを明示的に使用する必要があります。

<script src="@Url.Content("~/app/myapp.js")" type="text/javascript"></script>
于 2013-03-29T15:19:40.267 に答える