0

MVC4 デフォルト テンプレートを使用します。

私はスクリプトを追加します: 関数でMyScript.js/Scripts/MyApp/

function Testing()
{
    alert('test');
}

global.asax で:

 bundles.Add(new ScriptBundle("~/bundles/myapp").Include(
    "~/Scripts/MyApp/MyScript.js"));

このメソッドを呼び出したい/Views/Home/Index.cshml

以下のコードを試しましたが、成功しませんでした:

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

@Scripts.Render("~/bundles/myapp")

ソースコードを見ると、そこへのリンクMyScript.jsがあり、そこに移動できます(ソースに移動します)

ただし、 のTesting()メソッド $(document).readyは実行されません。

アップデート1

<script type="text/javascript" lang="javascript">

    $(document).ready(function () {
        alert("test");
    });
</script>
4

1 に答える 1

2

バンドルのインクルードの後に​​インライン スクリプトを配置してみてください。タグのlang属性も非推奨です。script

@Scripts.Render("~/bundles/myapp")

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

アップデート:

OK、jqueryを含めるのを忘れたと思うので、$関数が定義されていません:-)

したがって、バンドルでそれを行いたい場合:

bundles.Add(new ScriptBundle("~/bundles/myapp").Include(
    "~/Scripts/jquery-{version}.js", "~/Scripts/MyApp/MyScript.js")
);

または、バンドルを使用したくない場合:

<script type="text/javascript" src="~/scripts/jquery-1.7.1.js"></script>
<script type="text/javascript" src="~/scripts/MyScript.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        Testing();
    });
</script>
于 2012-08-21T19:38:00.080 に答える