我在局部 View 中有以下代码:
@if (Request.IsAuthenticated)
{
Hello, @Html.ActionLink(User.Identity.Name, "ChangePassword", "Account") | Html.ActionLink("Log off", "LogOff", "Account")
}
else
{
@Html.ActionLink("Log in", "Login", "Account")
}
预期输出(带有适当的操作链接):
但是,这会导致错误:
如果我放一个
<p>...</p>
在以“Hello”开头的行周围,错误消失了。我对
@Html
的混合调用显然存在一些语法错误。和同一行内的文本。这样做的正确方法是什么?
最佳答案
代码块 ( { ... }
) 的内容应该是代码,而不是标记。
如果您想将文本直接放入代码块中,您有以下三种选择:
<text>
标签,它只会渲染没有标签的文本 @:
, 相当于 见 SottGu's blog post .
关于asp.net-mvc-3 - 使用 MVC Razor 在 if/else 中混合文本和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209973/