2012-05-02 6 views
0

新しいMVC 3アプリケーションを作成すると、_Layoutページのスクリプトタグを変更するまでjQueryインテリセンスが機能しない理由がわかりません。私が見たチュートリアルによると、スクリプトフォルダにvsdocファイルを置く限り、jQueryインテリセンスが必要ですが、それは少なくとも私にとっては起こりません。新しいプロジェクトを作成した後、ここにスクリプトタグは、私の_Layout.cshtmlページで次のようになります。@ Url.Contentが新しいMVCプロジェクトの正しいパスを指していない

<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script> 

私は私のScriptsフォルダにvsdocファイルが含まれていたが、私はjQueryのインテリセンスを持っていません。ページ上でビューのソーセージを行うと、ここに表示されます。

<script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script> 

パスが正しく解決されたように見えません。 だから私は、このタグを削除し、ページにファイルをドラッグ&ドロップして、それを交換し、これで終わる:

<script src="../../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script> 

は今、私はjQueryのインテリセンスを取得します。では、なぜ私はこれらの変更を無駄にしなければならないのですか?これは他の人が経験したことか、私は何か間違っている可能性がありますか? @ Url.Contentの機能が壊れているようで、フォームに画像を置くなどの他の用途に問題があるかどうか疑問に思うかもしれません。

+0

壊れているのは 'Url.Content()'ではありません。それはIntelliSenseです。 –

答えて

0

私の知る限り、あなたのvsdoc.jsスクリプトは、単にscriptsフォルダに存在するだけではありません。それを使用するすべてのビューで参照する必要があります。

あなたはこのようにそれを参照する必要があります。

@if (false) { 
    <script src="../../Scripts/jquery-1.5.1-vsdoc.js" type="text/javascript"></script> 
} 

注:あなたが正しいです参照するファイルのバージョンを確認してください。

ifステートメントは、ブラウザが実際にファイルをダウンロードするのを防ぎます。

+0

こんにちは危険ですが、プロジェクトが作成されたとき(@ Url.Contentを使用しているもの)、参照を追加するときに_Layoutページに配置されたスクリプトタグを削除する限り、jQuery intellisenseをスクリプトフォルダに残しておくとうまく動作します.jsファイルにドラッグすると、元の投稿に表示されているマークアップと異なるマークアップを持つscriptsフォルダからページにドラッグされます。ページに両方のスクリプトタグを残して実行すると、Viw Sourceを見て、 : –

+0

@ Url.Contentを使用したスクリプトタグのマークアップは、ここで行った編集のようです: これは他のマークアップです:マークアップは正しく解決されませんが、わかりません。 –

関連する問題