2013-04-02 4 views
7

MVCでASP.Net 4を使用しているサイトで作業しています。私はWebForms & javascriptにとても精通していて、jqueryを使用していますが、バンドルは私を混乱させます。私が知ることから、すべてのjavascriptファイルはBundleConfig.csでラップされ、site.masterファイルのヘッダとともにダウンロードされます。だから、私は新しいタグで私の追加の関数とjqueryの呼び出しを置くことができるはずです。asp.net mvc 4でjqueryを使用するにはどうすればよいですか?

しかし、それは仕方のjqueryの関数はファイルに行くことになっていることは明らかだが、私はに慣れているものとは全く異なっており、私は何がすべてで、操作することができません。

は私にMVCでこれを行うための適切な方法を示すことができる任意の短いチュートリアルはありますか?剃刀ではなく、ここでは2つの学習曲線は必要ありません。

+0

jqueryが機能しなくなる原因はわかりませんが、それはなくなりました。問題が何だったのか分かったら私はポストバックします。 – Random

答えて

1

私はあなたの問題を理解していないが、あなたはどのようなバンドルです知っているのですか?まず、このアーティクルを見て、完全な機能を理解してください。 http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

asp.net mvcでバンドルを使用する必要はありません。プロジェクトから削除して、問題なくレイアウトページにjavascriptファイルを追加するだけです。レイアウトページに手動で追加し、別のjsファイルにファンクションを追加して、ビュー(またはレイアウト)に追加することもできます。 Asp.Net MVCはWebFormsと比較して別のものです。

カミソリはViewengineであり、あなたはサンプルのため、@文字を使用して、サーバー側のコードを書くことができます:@Html.TextBox("Name")我々はasp.netのMVC 3は持っているが、あなたはまた、サンプルのために、ASPXエンジンを書くことができます。<%: Html.TextBox("Name") %>をあなたがそうであるようにWebFormsの何か。 (私はRazorをお勧めします。なぜなら、書く、読む、使用する方が速いからです)。

がここViewEngines詳細については、こちらをご覧ください: http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

11

をMVCでこれを行うには「正しい」方法はありません、それは完全にあなた次第です。

これを行うには、いくつかの一般的な方法があります。

scriptタグ などに配置することで、ビュー内に「インライン」のJQuery関数を配置することができます。

<script> 
    $('a').click(function() { alert("Click"); }); 
</script> 

ただし、これは一般的にお勧めできません。これは、JSを管理し、再利用してHTMLを肥大化させるためです。本当に小さなスクリプトがあり、そのために新しいファイルを作成する価値があるとは思わない場合にのみ、おそらくこれを行うでしょう。

また、別のjsファイルにhtmlファイルを配置し、これらのファイルへの参照をビューに含めることもできます。

<script src="~/Scripts/mycusomtjquery.js"></script>

それは再利用を許可しないし、あなたのHTMLを膨らまいないので、これは良いです、プラスのブラウザはそれをキャッシュすることができます。

より良いオプションは、MVC 4に束ねる機能を利用し、これを使用することです。あなたのjsを別のファイルに置き、バンドルとして登録し、これをビューでレンダリングします。

はあなたseperatesファイルでJSを作成し、そこにカスタムコードを配置します。このApp_Start \ BundleConfig.csで

bundles.Add(new ScriptBundle("~/bundles/mycustomjquery") 
        .Include("~/Scripts/mycustomjquery.js") 
        .Include("~/Scripts/myothercustomjquery.js")); 

これは、することができminfiedとマージされた方法であなたのJSをレンダリングしますあなたのビューで

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

をバンドルをレンダリングするための呼び出しを追加

場所broswerによってキャッシュされる。

これは、これに合わせて設定できます。 jsファイルをバンドルする方法、実際のjsファイルの数、レンダリングする場所などを選択します。

関連する問題