Verketten von Strings in Razor

82

Wie würde ich zwei Zeichenfolgen in der Razor-Syntax verbinden?

Wenn ich hätte: @Model.addressund @Model.cityund ich wollte, dass die Ausgabe so ist, address citywas würde ich tun? Ist es so einfach wie zu tun @Model.address + " " + @Model.city?

TheWebs
quelle
2
Einfacher geht es nicht! :)
von v.

Antworten:

198

Verwenden Sie die Parentesis-Syntax von Razor:

@(Model.address + " " + Model.city)

oder

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

Update : Mit C # 6 können Sie auch die $ -Notation (offiziell interpolierte Zeichenfolgen) verwenden:

@($"{Model.address} {Model.city}")
Stephen Reindl
quelle
2
Diese können ebenfalls nützlich sein: C # Razor Syntax
Kurzreferenz
Ich fand das nützlich, als ich einen String machte. Treten Sie in eine @ if-Klausel ein. In den schnörkellosen Klammern funktionierte dies nicht. string.Join(",", Model.AppInfo.MailingCodes); Mit der Antwort hier funktionierte dies jedoch:@(string.Join(",", Model.AppInfo.MailingCodes))
Mark
9

String.Format funktioniert auch in Razor:

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

Sie können so geben ....

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

Sie können verwenden:

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

Das Plus funktioniert einwandfrei, ich persönlich bevorzuge die Concat-Funktion.

var s = string.Concat (String 1, String 2, String, 3 usw.)

d384
quelle