2012-04-16 1 views
1

コードを繰り返さずにメソッドを複数の場所で使用できるように、関数をexisting.jsファイルに入れました(2つの異なるファイルを試しました)。私は自分の機能がうんざりしていないかどうかを確認するために単純な機能を作成しました。スクリプトファイルをASP.NETページにインポートする:intellisenseはメソッドを表示しますが、エラーを1つ呼び出そうとしています。何か案は?

function doNothing() { 
    alert("Dammit."); 
} 

私は私た.ascxコントロールでインテリセンスリストにある方法を見ることができますが、できるだけ早く私はそれにステップしようとして、それが失敗します。

以下は、ファイルを参照しようとした方法ですが、メソッドを見る限り動作するようですが、動作しません。

<script src="/javascript/messages.js" language="javascript" type="text/javascript"></script> 

私が作っているかもしれない一般的な間違い?それはうまくいくように見えます。

注:メソッドが.ascxファイルの中にある場合、セミコロンがなくても正常に動作します。

+0

これは、ファイルが原因で、仮想ディレクトリまたは他のいくつかのパスの問題が正しくロードされていないことが考えられます。これがwebformsの場合、src = "〜/ javascript/messages.js"にsrc = "/ javascript/messages.js"を変更してください。 MVCの@ Url.Content( "〜/ javascript/messages.js")を試してください。 –

+0

また、ほとんどのブラウザのデバッグツールを使用して、ファイルが適切にロードされているかどうかを判断することもできます。 – bhamlin

+0

これは、src属性を設定するときにポップアップするブラウズを使用する必要があります。 – Yatrix

答えて

2

IntelliSenseが"/javascript/messages.js"を示唆したとしても、アプリケーションがWebサイトのルートではなく仮想ディレクトリの下にインストールされている場合、パスは間違っています。たとえば、JavaScriptファイルの完全なURLはhttp://www.example.com/myapp/javascript/messages.jsになる可能性がありますが、src属性が/で始まるため、ブラウザはhttp://www.example.com/javascript/messages.js(「myapp」仮想ディレクトリなし)にアクセスします。

あなたはWebフォームを使用している場合は、次のように、あなたがsrc属性を変更することができます。

src='<%= this.Page.ResolveClientUrl("~/javascript/messages.js") %>' 
+0

ニース! My.WebNewbiness - = 1;それはそれだった。私はあなたのために「Wind Beneath My Wings」に歌詞を投稿することを考えましたが、それは不愉快になるかもしれないと思っていました...ありがとう! – Yatrix

関連する問題