0

Visual Web Developer 2010 Expressのプロジェクトで、この小さな、しかし厄介な問題が発生しました。www.domain.com/group1/type1/somefile.aspxなどの大きなフォルダー構造に.aspxファイルを配置したWebサイトを開発しています。ルートフォルダーには、「styles」(cssの場合)、「images」、「js」が含まれています。 "(javascriptsの場合)フォルダー。今日、ベースタグ、絶対パス、相対パスについてたくさん読みました。ついに私は「絶対的な道」が私にとって最良の選択であることに気づきました。

主な問題は、ブラウザで自分のサイトを(ローカルで)プレビューすると、画像、css、およびjsの絶対リンクが機能しないsrc="/js/gl.jquery.js"場合、正しく、オンラインで機能すると思われるものを使用していることです。

javascriptのページのソースコードは、http://localhost:61700/js/gl.jquery.js相対パスに切り替えてscript src="../../../js/gl.jquery.js"Webサイトをプレビューすると、正常に動作し、javascriptパスのソースコードはhttp://localhost:61700/ProjectName/js/gl.jquery.js(Visual StudioがパスにProjectNameを追加したことに注意してください)と言っています。プロジェクトが(メインドメインで)オンラインになると正しく機能すると思いますが、今はこの問題なしにローカルで開発を続ける必要があります。Visual Web Developerでこれを修正する方法はありますか?オンラインになったときに削除できるweb.configファイルのタグ、またはWebサイトのプロパティでしょうか。

相対パスを使用して迅速な解決策を開発し、絶対パスにオンラインになったときにコードを変更することはわかっていますが、追加情報として、読んだためにベースタグを選択しなかったため、よりクリーンな方法を探しています。リンクを固定し(href = xx.html#question3)、いくつかの大きなファイルでそれらを使用する必要があります。また、会社からファイルの移動を求められる可能性があり、相対パスを更新したくないので、相対パスは避けてください。

どうもありがとう!

4

1 に答える 1

0

問題が解決しました!これは私がScottGuのブログのおかげで見つけた解決策です。

主なことを引用します 。Webサイトを開いてプロジェクトを実行すると、VWDは、プロジェクトのルートディレクトリ名と同じ仮想アプリパスを使用して、組み込みのWebサーバーを起動して実行します。例:「Foo」という名前のプロジェクトがある場合、組み込みのWebサーバーで起動して実行されます。http://localhost:1234/Foo/Default.aspx. これの欠点の1つは、サイト内の静的CSSや画像ファイルなどを完全に修飾することが難しいことです。 (例:/images/myphoto.jpgや/css/mycss.cssなどのルート修飾パスを使用)。動的リソースには「〜」アプリパストリックを使用できることに注意してください。ただし、静的リソースは依然として苦痛になります(js、css、画像ファイル)(これは私の問題でした)

これが男の投稿全体です:ここをクリック

主な解決策は次のとおりです。

1)Visual Studio内のソリューションエクスプローラーを使用して、Webサイトプロジェクトノード(ワールドアイコンのあるノード)を選択します。

2)下部に「仮想パス」という名前のプロパティがあります。/ルートWebサイトとして実行するように設定する「仮想パス」を変更します。

/これで、ファイルを簡単に管理できるように設定できました。

于 2012-11-29T21:56:10.320 に答える