0

ASP.NET と依存関係、およびデータベースへの接続に関する問題が発生した後、MVC アプリケーションを IIS 7.5 (Windows Server 2008 R2) に正常に展開しました。「既定の Web サイト」のアプリケーションのインポート機能を使用しました。

初めて IIS をセットアップするので、ご容赦ください。

localhost/System に設定されています。これで、localhost/System (/ のみ) でウェルカム ビューが表示され、ログイン (localhost/System/Account/Login - /Accounts/Login) をクリックするとログイン ビューが表示されるため、ルーティングが機能することがわかります。

ログインすると、データベースからメニューが取り込まれ、すべてのメニュー項目は /Controller/Action/Values の形式になります。メニューの項目をクリックすると、IIS はリクエスト localhost/Controller/Action - WITHOUT System を発行します。リクエストの途中でシステムを手動で追加すると、当然動作します。

これを解決するにはどうすればよいですか?

データベースのメニューを簡単に変更して /System プレフィックスを追加できますが、サイト全体に Java スクリプトでハードコーディングされた同じアドレスがたくさんあります。これは、展開前にサイトの名前をハードコーディングしていることも意味しますが、私はそれが好きではありません。

また、IIS が site.css ファイルを読み取れないかのように、サイトが完全に白くなっています。/Content フォルダーの下にあり、私のサイトでは次のように参照しています。

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 

あなたの提案は何ですか、私はこれをどのように解決しますか?

アップデート:

私は IIS ログを調べてきましたが、ここにいくつかの行があります: GET /SYSTEM/Scripts/LookupJunction.js - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:15.0)+ Gecko/20100101+Firefox/15.0.1 200 0 0 31 GET /SYSTEM/Content/Site.css - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:15.0)+Gecko/ 20100101+Firefox/15.0.1 200 0 0 31 GET /SYSTEM/Scripts/modernizr-1.7.min.js - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:15.0)+ Gecko/20100101+Firefox/15.0.1 200 0 0 31 GET /SYSTEM/Content/2012.1.214/telerik.Office2007.min.css - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64; +rv:15.0)+Gecko/20100101+Firefox/15.0.1 200 0 0 31 GET /SYSTEM/Content/2012.1.214/telerik.common.min.css - 80 - ::1 Mozilla/5.0+(Windows+NT) +6.1;+WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 200 0 0 46 GET /SYSTEM/Scripts/jquery-1.5.1.min.js - 80 - ::1 Mozilla/5.0+ (Windows+NT+6.1;+WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 200 0 0 46 GET /SYSTEM/Scripts/2012.1.214/telerik.common.min.js - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1; +WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 200 0 0 15 GET /SYSTEM/Scripts/2012.1.214/telerik.menu.min.js - 80 - ::1 Mozilla/5.0+( Windows+NT+6.1;+WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 200 0 0 15 GET /SYSTEM/Scripts/2012.1.214/jquery-1.7.1.min.js - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 200 0 0 31 GET /Content/drock028.jpg - 80 - ::1 モジラ/5.0+(Windows+NT+6.1;+WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 404 0 2 0 GET /SYSTEM/Content/2012.1.214/Office2007/sprite.png - 80 - ::1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 200 0 0 15 GET /ホーム/テスト - 80 - ::1 Mozilla/5.0 +(Windows+NT+6.1;+WOW64;+rv:15.0)+Gecko/20100101+Firefox/15.0.1 404 0 2 78

そのため、site.css は読み込まれていますが、背景画像は読み込まれていません。パスに「SYSTEM」フォルダがありません。私は自分のsite.cssで次のように参照しました:

background-image: url('/Content/drock028.jpg');

したがって、ほとんどのものは適切な URL を取得しますが、私の背景画像は取得せず、データベース URL からのコントローラー アクションの呼び出しも取得しません。

しかし、私は何をすべきですか?データベースで URL ヘルパーを使用することはできません。また、Java スクリプトで使用することもできません (または使用できますか)?

4

1 に答える 1

1

最初の問題(データベース内のURL)については、値を/ Controller / Actionの形式のままにしておきますが、ビューを更新してアプリケーション相対URLをレンダリングします。

@Url.Content("~" + url)

(したがって、データベースのURLが/ Home / Indexの場合、上記では@ Url.Content( "〜/ Home / Index")が返され、 / System / Home / Indexがレンダリングされます。)

2番目の部分では、ニックが指摘したように、 Firebugの[ネットワーク]タブを調べて、CSSファイルに対して実際に要求されているURL(および404 / Not Foundなどを取得しているかどうか)を確認すると役立つ場合があります。CSSパスのコードが正しいため、IIS構成に問題がある可能性があります。

于 2012-09-09T05:47:50.137 に答える