如何使String.Format与Javascript的资源文件值一起使用?

时间:2012-05-19 04:47:05

标签: c# javascript asp.net

我在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本身来解决。我很想知道如何在Javascript中结合资源文件值获取C#的String.Format函数。

因此,请仅提供与String.Format和Resource文件值相关的更正/解决方案。

非常感谢

1 个答案:

答案 0 :(得分: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 %>';