我尝试使用razor生成javascript:
<script>
var slides =
[
@foreach (var news in Model.News)
{
@:data.push(
{
fileID: @(news.FileID),
preamble: "@(news.Preamble)",
img: "/Admin/News/NewsPng/@(news.NewsID)"
});
}
];
</script>
我在
上遇到语法错误看起来像visual studio 2012接受了很多我的剃刀代码。也许值得注意的是我正在使用R#(如果这是一个问题)。
除了显而易见的问题之外,为什么会出现所有这些错误消息,我还想知道是什么让visual studio真正接受我尝试运行这个。
所有那些编译错误,而visual studio实际上运行它?为什么呢?
当我运行代码时,出现以下错误:
CS1646: Keyword, identifier, or string expected after verbatim specifier: @
并突出显示fileID行。
Razor可能是一件非常好的事情,但是到目前为止它给我带来了一些严重的麻烦。也许我只是做些傻事......答案 0 :(得分:3)
尝试<text>
:
<script>
var slides =
[
@foreach (var news in Model.News)
{
<text>
data.push(
{
fileID: @(news.FileID),
preamble: "@(news.Preamble)",
img: "/Admin/News/NewsPng/@(news.NewsID)"
});
</text>
}
];
</script>
但是您的语法错误,您将在javascript中收到错误。
<强>加了:强>
这样的事情会起作用:
<script>
var slides = [];
@foreach (var news in Model.News)
{
<text>
slides.push({...});
</text>
}
</script>