Что не так с моим синтаксисом Razor? - PullRequest
0 голосов
/ 14 мая 2011

Я сделал один файл с именем twitter.cshtml.На этой странице мой код выглядит так:

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

Я получил сообщение об ошибке, что Twitter находится в строке - @Twitter.Profile(Request["TwitterUser"]).

.

1 Ответ

0 голосов
/ 27 мая 2011

Удалите знаки @ внутри блоков 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 перейти в режим разметки.

...