0

asp.net mvc 3アプリケーションには、同じJavaScript関数のセットを持つ2つのビューがあります。Javascriptは同一なので、このコードを再編成し、すべてのjavascriptコードを.jsファイルに抽出して、両方のchtmlファイルに含めたいと思います。

問題は、javascript関数の1つがモデルからデータを取得するためにC#コードを使用することです。C#コードをjavascript(.js)ファイルに挿入するにはどうすればよいですか、またはこのすべてのコードを別のchtmlファイルに抽出して、前の両方に含めるにはどうすればよいですか?

4

3 に答える 3

3

ネイティブにすることはできません、または少なくともすべきではありません。メンテナンスとパフォーマンスの両方の理由から。

代わりに、パラメーター化されたメソッドを持つようにjavascriptを再設計し、ビューからカスタム値を初期化する必要があります。

jQueryのように考えてください。多くのプラグインが利用可能で、標準化されていますが、それらを消費しているページでは特定の値で初期化されます。

于 2012-06-18T12:39:15.477 に答える
0

JavaScriptに異なるデータが含まれている場合、それは同一ではありません。

同じ機能を.jsファイルに抽出し、.jsが使用できるJavaScriptデータのチャンクをページに生成するか、JSONを返すサービスにリファクタリングします。

于 2012-06-18T12:42:11.843 に答える
0

部分ビューを使用してタグを書き込み、<script>両方のページから呼び出すことができます。HTMLヘルパーの方が適していると思われる場合は、HTMLヘルパーを使用することもできます。

ただし、どちらもお勧めしません。

1つのオプションは、ページに変更される値(おそらくhtml5data-属性として)を配置する方法を見つけてから、JavaScriptコードに外部の.jsファイルを使用することです。これは、C#によって操作されるのではなく、 HTML自体。

もう1つの(それほど美しくはない)オプションは、各ページに一連のJS変数を<script>タグに設定させ、それらを外部の.jsファイルで使用することです。

于 2012-06-18T12:46:15.697 に答える