我在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文件值相关的更正/解决方案。
非常感谢
答案 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 %>';