在RaC中将Razor字符串变量转换为Javascript字符串变量

Wil*_* Jr 5 javascript c# asp.net-mvc razor asp.net-mvc-4

我试图将我的cshtml视图上的字符串变量(甚至布尔值)传递给我的javascript部分.我可以成功地将razor部分的值传递给javascript(如果是整数).但我想要完成的是传递字符串值.这是我的.cshtml示例代码:

string strAnnouncement = "My announcement";
int intCounterValue = 1200;
Run Code Online (Sandbox Code Playgroud)

要在Javascript上接收值,这是我的代码:

//Cannot get the value, always error on Developer Tool console
var SessAnnouncement = @strAnnouncement;

//Can get the value successfully
var SessInitTimer = @intCounterValue;
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我可以通过Jss在SessInitTimer上获得价值1200.但是在SessAnnouncement上,我得到一个未捕获的ReferenceError:我的声明没有定义.

如何在剃刀部分获取strAnnouncement值并将其传递给脚本部分?

Sat*_*pal 15

它们被视为变量,因为您没有定义它们,您会得到所述错误.

您需要将引号括起来作为字符串处理.

var SessAnnouncement = "@strAnnouncement";
Run Code Online (Sandbox Code Playgroud)