混合Razor和Javascript:将Model中的数字分配给视图中的Javascript变量

时间:2013-09-30 08:30:00

标签: javascript asp.net-mvc asp.net-mvc-4 razor

我很难通过Razor将Model中的基本数字分配给Javascript变量。我提出的所有内容都是下面的代码,它起作用,但是相当难看,因为我必须将字符串值转换为数字。有没有其他方法可以在没有任何转换的情况下立即以数字格式获取它?

var MyNumber = parseInt('@Model.MyNumber');

2 个答案:

答案 0 :(得分:4)

你应该可以这样做:

var MyNumber = @Model.MyNumber;

或更好,使用括号使Razor部分显式化(因此很清楚分号是Javascript分号):

var MyNumber = @(Model.MyNumber);

答案 1 :(得分:2)

如果您坚持消除Visual Studio错误,将Razor模板部件包装在身份函数调用中的工作成本低于解析:

var noop = function(x) { return x; }
var MyNumber = noop(@Model.MyNumber);