2009-03-02 298 views
1

私はJavaScript newbieです。私ができるようにしたいのは、ASP.NET MVCプロジェクトのスクリプトフォルダにある.jsファイルから関数を呼び出すことです。ASP.NET MVCから外部.jsを呼び出す

機能は次のとおりです。

function myfunction() { 
    alert("HELLO"); 
} 

...そして、それは私がこのようにそれを呼び出すビューページでは、ファイルbrfix.jsに

を常駐:

<script src="../../Scripts/brfix.js" type="text/javascript"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     myfuntion(); 
    }); 
</script> 

しかし、コードはdoesnの仕事はありません。しかし、jsコードをビューページに直接置くと、次のように動作します。

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert("HELLO"); 
    }); 
</script> 

ファイルベースのjs関数の呼び出し方法は? JavaScript-Big-Kahunaが私を助けてくれますか? =)

答えて

0

これは、外部ファイルへの参照が間違っていることがあります

<script src="../../Scripts/brfix.js" type="text/javascript"></script> 

は、参照が正しいことを確認してください。 ビューソースを使用して、実際の場所を見ることができます../../Scripts/brfix.js最終ページに翻訳されます。
FireFoxのFireBugで試すこともできます。

0

iisのmvcサイトがルートサイトの場合は、スラッシュを使用してスクリプトsrcを開始してスクリプトにアクセスできます。それ以外の場合は、asp:ScriptManagerを使用してスクリプトを含めることができます

1

このコードをソースコードから直接貼り付けると、誤字が発生して機能しないのです!

あなたの関数は)(MyFunctionを呼ばれていますが、開発するときに、あなたのブラウザでのjsエラーを有効にする必要があり

myfuntion()を呼んでいます。どのブラウザを使用しているのかはわかりません。 IEの場合はTools - Options - Advancedにあります。 「スクリプトデバッグを無効にする」オプションのチェックを外します。 Firefoxでは、DrorのようにFireBugのようなものを使用します。メモリが役立つ場合は、javascriptエラーが発生した場合に表示されるものがあります。まだ問題がある場合は、Fiddler2(IEで)をインストールし、jsファイルのリクエストを作成して戻ってくるものを見てみましょう。

デバッガを置くこともできます。関数を呼び出す直前に呼び出すと、javascriptを実行する必要があります。

0

他のポスターと同様に、タイプミスがあります。しかし...

サイトのコンテンツを参照するには、Url.Content()メソッドをチェックしてください。 (画像、スクリプトなど...)../../を使用することは信頼できません。特に、URLの深さやアプリケーションのサブディレクトリにさまざまなレベルがある場合は、信頼性がありません。

は、ここで私は例えば、私のプロジェクトのほとんどで使用ヘルパーです:

public static string Script(this HtmlHelper Html, string url) 
{ 
    UrlHelper Url = new UrlHelper(new RequestContext(Html.ViewContext.HttpContext, Html.ViewContext.RouteData)); 
    string html = "<script type=\"text/javascript\" src=\"{0}\"></script>"; 
    return string.Format(html, Url.Content(url)); 
} 

そして、ここではそれが呼び出されている:

<%= Html.Script("~/public/js/blah.js") %> 
0

私は同じ問題を抱えていたし、それは私が判明しましたいくつかのjsファイルが見つかりませんでした。あなたのMVCプロジェクト構造がセットアップVSデフォルトであり、あなたのビューページは、例えば、ホームにある場合は、私は以下のだと思うのファイル検索します:

<script src="../Scripts/brfix.js" type="text/javascript"></script> 

しかし、それが見つかった場合でも、他のjsファイルが原因発見されていません私の$(文書)は既に働いていません。 FirefoxのFirebugであなたのページをチェックしてください。ファイルが見つからない場合は、問題のある参照の下にリソースが見つからないというメッセージとともにhtmlマークアップが表示されます。一度私はすべてのjsの参照を解決したら、私の$(文書).readyは働いた。

奇妙なVSは、参照が正しいときにjsファイルを見つけることができず、参照が正しくないときに問題を報告していないと言っていました。

関連する問題