gpt4 book ai didi

asp.net-mvc-3 - 使用 MVC Razor 在 if/else 中混合文本和函数

转载 作者:行者123 更新时间:2023-12-03 12:02:43 26 4
gpt4 key购买 nike

我在局部 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")
}

预期输出(带有适当的操作链接):
  • 如果登录:你好吉姆 |注销
  • 如果未登录:登录

  • 但是,这会导致错误:
  • 在 VS 中,单词“Hello”有一个错误:“Cannot resolve symbol 'Hello'”和“&#” has “Expression expected”
  • 在浏览器中,我得到“CS1040:预处理器指令必须作为行上的第一个非空白字符出现”

  • 如果我放一个 <p>...</p>在以“Hello”开头的行周围,错误消失了。

    我对 @Html 的混合调用显然存在一些语法错误。和同一行内的文本。这样做的正确方法是什么?

    最佳答案

    代码块 ( { ... } ) 的内容应该是代码,而不是标记。

    如果您想将文本直接放入代码块中,您有以下三种选择:

  • 将其包裹在任何 HTML 标签中
  • 用专用 Razor 包裹它<text>标签,它只会渲染没有标签的文本
  • 在行前加上 @: , 相当于

  • SottGu's blog post .

    关于asp.net-mvc-3 - 使用 MVC Razor 在 if/else 中混合文本和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10209973/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com