Razor引擎对我的内联代码不满意

时间:2011-03-30 10:28:56

标签: c# asp.net-mvc-3 razor

此代码直接从Scott Gu的博客(http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx)复制:

Hello @name, the year is @DateTime.Now.Year

当我尝试这个时,它有效:

@foreach (var post in ViewBag.Posts)
{
    @post.Title<br />
}

但是当我尝试这个时,代码突出显示器将整个事件作为一个Razor声明并且编译器失败:

@foreach (var post in ViewBag.Posts)
{
    @post.Title, by @post.Author<br />
}

我得到Compiler Error Message: CS1525: Invalid expression term ','。再次,只有@post.Title<br />,它编译得很好。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:12)

如果内容不是明显语言或内容,您需要帮助它做出决定:

@foreach (var post in ViewBag.Posts)
{
    @:@post.Title, by @post.Author<br />
}

或:

@foreach (var post in ViewBag.Posts)
{
    <text>@post.Title, by @post.Author<br /></text>
}

@foreach (var post in ViewBag.Posts)
{
    <text>
    @post.Title, by @post.Author<br />
    </text>
}