如何在剃刀中连接变量?

时间:2015-03-10 06:13:14

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 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>
}

但是,在运行网站并成功登录后,我收到以下错误: 只能将赋值,调用,递增,递减,等待和新对象表达式用作语句

我可以修改这行代码:

@currentUser.Name @currentUser.LastName;

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

有任何线索如何解决这个问题? 此致!

3 个答案:

答案 0 :(得分:1)

无需使用@ sign in赋值运算符尝试类似下面的内容:

@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

答案 1 :(得分:0)

 @{
   string str1="Hello";
   string str2=" World";
  }

您可以连接如下

纯HTML

 @str1 @str2

内部代码块

 @{
   string str3=str1+str2;
  }

内联

@(str1+str2)

答案 2 :(得分:0)

删除';'

@currentUser.Name @currentUser.LastName
相关问题