我的Razor语法有什么问题?

时间:2011-05-14 12:06:32

标签: razor webmatrix

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

@if (Request["TwitterUser"].IsEmpty())
{
    @Twitter.Search("microsoft")
}
else
{
    @Twitter.Profile(Request["TwitterUser"])
}

我收到了一条错误,即Twitter排在第@Twitter.Profile(Request["TwitterUser"])行。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

删除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循环中,<text>标记将不会被渲染,它是一个特殊标记,可以告诉Razor进入标记模式。