1

Asp.netにリソースファイルがあり、そこから次のように値を読み取っています。

var val1 = '<% = Resources.Test.FirstValue%>';  //Hello
var val2 = '<% = Resources.Test.SecondValue%>';  //World          
alert(val1);
alert(val2);

正しく動作します。しかし、C#でString.Format関数を使用して、以下のように「Hello--World」にする必要があるとします。

var val3 = '<%= string.Format("{0} - {1}",<% = Resources.Test.FirstValue%>,<% = Resources.Test.SecondValue%> %>';

コンパイル時エラーが発生します

Invalid expression term '<'
Invalid expression term '='
) expected
; expected
Invalid expression term ')'

Javascriptでそのようなサーバーサイド関数を使用することはできません。ただし、以下は機能します

var val3 = '<%= string.Format("{0} - {1}","Hello","World") %>';

この問題は、JavaScript自体を使用して解決できることを私は知っています。C#のString.Format関数をJavascriptでリソースファイルの値と組み合わせて機能させる方法を知りたいだけです。

したがって、String.FormatおよびResourceファイルの値のみに関連する修正/ソリューションを提供してください。

どうもありがとう

4

1 に答える 1

1

<%=このために必要なのは1セットだけです%>)のクロージングもありませんstring.Format

var val3 = '<%= string.Format("{0} - {1}", Resources.Test.FirstValue, Resources.Test.SecondValue) %>';

ただし、とのセットの間のすべて<%=%>C#であり、これらのテンプレート演算子のそれ以上の使用をサポートしていません。これらの演算子は、前のセットを終了した後にのみ必要になります。

var val3 = '<%= Resources.Test.FirstValue %> - <%= Resources.Test.SecondValue %>';
于 2012-05-19T05:09:45.633 に答える