2012-03-08 4 views
0

私の剃刀のビューからjsファイルにデータを渡すための最善の方法を探しています。たとえば、jsファイルにjqueryダイアログが設定されているとします。このダイアログのボタンのテキストについては、リソースファイルFR/NL/UKを使用してローカライズします。翻訳は下記@ UserResource.ButtonDelete + @ UserResource.ButtonCancel私の剃刀のビューから私のjsファイルにデータを渡す

で利用できる私が見さまざまなソリューションです:

私のジャバスクリプトファイル内のかみそりのコードを可能にするために素敵な RazorJS nugetパッケージを使用
  1. 。それはかなりうまくいく。しかし、問題は:スクリプト内でかみそりの構文を使用するためにjsファイルをコンパイルすることは悪い習慣ですか?

  2. JSのスクリプトファイル内のグローバル変数を宣言して、このようなビューから値を割り当てる:ビューで

:JSファイルで

<script> 
     var labelButtonDelete = @UserResource.ButtonDelete; 
</script> 

alert('The text for my button is ' + labelButtonDelete); 

剃刀からjsファイルにデータを渡す最も良い方法は何ですか?別の選択肢がありますか?

ありがとうございます。

答えて

1

私はしばらくの間、あなたの第2のアプローチのようなものを問題なく使用してきました。唯一の違いは、JSファイルにsingletonを使用して、グローバルなjavascript名前空間を汚染しないようにすることです。

しかし、より深刻なクライアント側の処理を行う場合、Javascriptコードはよりオブジェクト指向の構造に従います。そこから、ローカライズされた値を渡すことができる単一の初期化/コンストラクタパスがほぼ自動的に取得されます。

このRazorJSは素敵ですが、私はJavascriptとRazorを混ぜているかどうか分かりません。小さなプロジェクトではそうかもしれませんが、Javascriptファイルがたくさんあると、それが本当に乱雑になることがあります。

結局のところ、リソース/ローカライゼーションコードがビューに関連していると考えています。 Javascriptは、私の意見では機能を実装するだけです。

関連する問題