我试图将我的 cshtml View 上的字符串变量(甚至是 bool 值)传递到我的 javascript 部分。如果它是整数,我可以成功地将 Razor 部分的值传递给 javascript。但我想要完成的是传递字符串值。这是我的 .cshtml 中的示例代码:
string strAnnouncement = "My announcement";
int intCounterValue = 1200;
要在 Javascript 上接收值,这是我的代码:
//Cannot get the value, always error on Developer Tool console
var SessAnnouncement = @strAnnouncement;
//Can get the value successfully
var SessInitTimer = @intCounterValue;
如您所见,我可以通过 SessInitTimer 上的 javascript 获取值 1200。但是在 SessAnnouncement 上,我收到一个Uncaught ReferenceError: My announcement is not defined。
如何在我的 razor 部分获取 strAnnouncement 值并将其传递到脚本部分?
最佳答案
它们被视为变量,并且由于您尚未定义它们,所以会出现上述错误。
您需要用引号引起来才能被视为字符串。
var SessAnnouncement = "@strAnnouncement";
更好的方法是使用 JSON.Encode()
方法
var SessAnnouncement = @Html.Raw(Json.Encode(strAnnouncement));
关于javascript - 将 Razor 字符串变量转换为 MVC 中的 Javascript 字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40126127/