我的 Razor 语法有什么问题?
我制作了一个名为 twitter.cshtml
的文件。在该页面中,我的代码如下所示:
@if (Request["TwitterUser"].IsEmpty())
{
@Twitter.Search("microsoft")
}
else
{
@Twitter.Profile(Request["TwitterUser"])
}
我收到一个错误,在行中找到了 Twitter - @Twitter.Profile(Request["TwitterUser"])
。
这是为什么呢?
I have made one file named twitter.cshtml
. In that page my code looks like:
@if (Request["TwitterUser"].IsEmpty())
{
@Twitter.Search("microsoft")
}
else
{
@Twitter.Profile(Request["TwitterUser"])
}
I got an error that Twitter is found in line - @Twitter.Profile(Request["TwitterUser"])
.
Why is this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
删除 if 和 else 块内的 @ 符号。
仅当您位于标记内部时才需要使用 @ 符号,而不是当您位于代码块内部时(如 if 语句)。
在 if 块中,对 Twitter.Search() 的调用现在位于 HTML 标记(标记)内,因此您需要使用 @ 符号。在 else 循环中,
标签不会被渲染,它是一个特殊的标签,只是告诉 Razor 进入标记模式。Remove the @ signs inside the if and else blocks.
You only need to use the @ sign when you are inside of markup, not when you are inside of code blocks (like if statements).
In the if block, the call to Twitter.Search() is now inside an HTML tag (markup), so you need to use the @ sign. In the else loop, the
<text>
tag will not be rendered, it's a special tag that is just there to tell Razor to go into markup mode.