如何连接剃刀中的变量?

How to concatenate variables in razor?

我想连接从数据库中获取的用户配置文件的 'Name' 和 'LastName'。我在 Razor 中有以下代码:

@if (Request.IsAuthenticated)
{
  var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
  var currentUser = manager.FindById(User.Identity.GetUserId());
  var fullName = @currentUser.Name + " " + @currentUser.LastName;
  @fullName;
}
else
{
  <span>Guess</span>
}

然而,当 运行 站点并成功登录后,我收到以下错误: 只有assignment、call、increment、decrement、await和new object expressions可以用作语句

我可以通过更改这行代码来解决这个问题:

@currentUser.Name @currentUser.LastName;

这将正确显示姓名和姓氏,但它们之间没有 space。

知道如何解决这个问题吗? 问候!

无需在赋值运算符中使用@符号尝试如下操作:

@if (Request.IsAuthenticated)
{
  var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
  var currentUser = manager.FindById(User.Identity.GetUserId());
  var fullName = currentUser.Name + " " + currentUser.LastName;
  @fullName;
}
else
{
  <span>Guess</span>
}

或者这样使用:

@currentUser.Name &nbsp; @currentUser.LastName
 @{
   string str1="Hello";
   string str2=" World";
  }

您可以按如下方式连接

普通HTML

 @str1 @str2

内部代码块

 @{
   string str3=str1+str2;
  }

内联

@(str1+str2)

删除“;”

@currentUser.Name @currentUser.LastName