Razor 我的剃须刀语法有什么问题?

Razor 我的剃须刀语法有什么问题?,razor,webmatrix,Razor,Webmatrix,我制作了一个名为twitter.cshtml的文件。在该页面中,我的代码如下所示: @if (Request["TwitterUser"].IsEmpty()) { @Twitter.Search("microsoft") } else { @Twitter.Profile(Request["TwitterUser"]) } 我在第-@Twitter.ProfileRequest[TwitterUser]行中找到Twitter时出错 为什么会这样?删除if和else块中的@符号

我制作了一个名为twitter.cshtml的文件。在该页面中,我的代码如下所示:

@if (Request["TwitterUser"].IsEmpty())
{
    @Twitter.Search("microsoft")
}
else
{
    @Twitter.Profile(Request["TwitterUser"])
}
我在第-@Twitter.ProfileRequest[TwitterUser]行中找到Twitter时出错


为什么会这样?

删除if和else块中的@符号

@if (Request["TwitterUser"].IsEmpty())
{
    Twitter.Search("microsoft")
}
else
{
    Twitter.Profile(Request["TwitterUser"])
}
您只需要在标记内部使用@符号,而不需要在if语句等代码块内部使用@符号

@if (Request["TwitterUser"].IsEmpty())
{
    <div>@Twitter.Search("microsoft")</div>
}
else
{
    <text>@Twitter.Profile(Request["TwitterUser"])</text>
}

在if块中,对Twitter.Search的调用现在位于HTML标记中,因此需要使用@符号。在else循环中,标记不会被呈现,它是一个特殊的标记,只是用来告诉Razor进入标记模式。

这是WebMatrix中的吗?您是否使用MVC 3?您应该将标题更改为对您需要包含更多细节的问题更有意义的标题。错误是什么?你能给我们展示一下Twitter.Profile方法吗?是否包含在名称空间中?如果在代码块中使用@whater.Something,则会将方法的结果输出到页面。从技术上讲,他所做的并不是错误的,尽管很难确定他所期望的结果是什么。