输出Razor代码@ Html.Raw

时间:2016-10-03 13:08:00

标签: c# asp.net-mvc asp.net-mvc-4 razor

我正在尝试使用以下代码在Razor中打印字符串:

@Html.Raw("Welcome @(ViewBag.Content.User.Name)!")

不幸的是,这个字符串的输出:"欢迎@(ViewBag.Content.User.Name)!"。但是当我以这种方式打印时:

@Html.Raw("Welcome " + @(ViewBag.Content.User.Name) + "!")

字符串的输出是:"欢迎Yanick!",正是我想要的但我不想以这种方式打印它。是否有可能运行字符串内的Razor代码(参见第一个例子)?我也尝试了Html.Encode(),但这并没有...

1 个答案:

答案 0 :(得分:0)

您可以使用名为string interpolation.

的C#6.0版功能

在你的情况下,它将是:

@Html.Raw($"Welcome {ViewBag.Content.User.Name}!")

如果您使用的是C#版本< 6.0,然后string.Format是您的选择:

@Html.Raw(string.Format("Welcome {0}!", ViewBag.Content.User.Name))