1

私は、JavaScript ファイルの 1 つでユーザーにメッセージが表示される Asp.Net MVC 3 プロジェクトで作業しています。このメッセージは現在 1 つの言語で書かれていますが、このメッセージを複数の言語で表示したいと考えています。これらの言語を直接 javascript ファイルに保存するのではなく、データベースに保存したいと考えています。ビューから JavaScript ファイルにデータ (文字列) を転送できるかどうかを知りたいです。

私が見つけた解決策の 1 つは、ビューのデータを隠しフィールドに設定し、それを JavaScript ファイルから抽出することです。このソリューションの問題は、多くの非表示フィールドを配置する必要があり、これを維持するのが非常に難しいことです。

この問題に対する他の解決策はありますか?

4

2 に答える 2

2

JavaScriptModel ( http://jsm.codeplex.com ) を試すことができます。

このライブラリを使用すると、コントローラー アクションで次の関数を呼び出して変数を追加できます。

this.AddJavaScriptVariable("VariableNameInJavaScript", SomeValue);

プリミティブ型または複合型を渡すことができます。

さらに、コントローラーアクションで次のコードを使用して JavaScript 関数を実行できます。

this.AddJavaScriptFunction("FunctionInJavaScript", SomeParameter, AnotherParameter);
于 2013-01-08T10:10:11.740 に答える
1

はい、あなたは正しい道を進んでいます。必要なのは、モデルを適切にハイドレートし、Razor 構文を使用して、サーバーからクライアントに「次の行に沿って」値を渡すことだけです。

<script src="@Url.Content("~/scripts/yourapi.js")"></script>
<script>
    yourapi.foo('@Model.SomeValue');
</script>
于 2012-08-02T02:25:54.100 に答える