在 Razor 中连接字符串

113

如何在Razor语法中连接两个字符串?

如果我有:@Model.address@Model.city,我想要的输出是 address city,我应该怎么做?只需简单地使用 @Model.address + " " + @Model.city 吗?


2
这再简单不过了! :) - von v.
1
http://stackoverflow.com/questions/16079254/how-to-translate-this-image-source-into-url-content/16080664#16080664 - Dave Alperovich
5个回答

271

使用Razor的括号语法:

@(Model.address + " " + Model.city)
@(String.Format("{0} {1}", Model.address, Model.city))

更新: 使用C# 6,您还可以使用$-记法(官方插值字符串):

@($"{Model.address} {Model.city}")

1
当我在@if语句中使用string.Join时,我发现这很有用。在花括号内部,这样是不起作用的: string.Join(",", Model.AppInfo.MailingCodes);但是使用这里的答案,这就可以工作了: @(string.Join(",", Model.AppInfo.MailingCodes)) - Mark
当答案非常古老时,总是感觉有点奇怪... - Chris Catignani

11

String.Format 也可在 Razor 中使用:

String.Format("{0} - {1}", Model.address, Model.city)

9

你可以这样做...

<a href="@(IsProduction.IsProductionUrl)Index/LogOut">

这是我认为最干净的答案。 - Muhammad Usama

0

您可以使用:

@foreach (var item in Model)
{
  ...
  @Html.DisplayFor(modelItem => item.address + " " + item.city) 
  ...

-4

加号运算符可以正常工作,但我个人更喜欢使用 concat 函数。

var s = string.Concat(string1, string2, string3, 等等)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接