我有一个在视图中使用Razor的ASP.NET MVC应用程序。我在我的控制器中构建了一个JavaScript数组。有时候,它不会存在。出于这个原因,我想在客户端初始化它。试图做到这一点,我有以下几点:初始化Razor中的JavaScript数组
var list = '@(ViewBag.List == null ? [] : ViewBag.List)';
不幸的是,这会产生一个错误。错误是:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS1525: Invalid expression term '['
有没有办法让我在剃刀中使用三元运算符数组?如果是这样,怎么样?
'[]'是无效的C#代码。什么类型是ViewBag.List?你想要将某些东西序列化为JavaScript吗? – dusky 2014-10-10 15:38:14
尝试'var list ='@(ViewBag.List == null?“[]”:ViewBag.List)';' – elolos 2014-10-10 15:38:35
@elolos该方法生成'var list ='[''';'not'var list = [ ];' – user687554 2014-10-10 15:51:43