Nối các chuỗi trong Razor


81

Làm cách nào để nối hai chuỗi trong cú pháp Razor?

Nếu tôi có: @Model.address@Model.cityvà tôi muốn kết quả đạt được address citythì tôi sẽ làm gì? Nó có đơn giản như đang làm @Model.address + " " + @Model.citykhông?


1
Nó không thể được đơn giản hơn thế! :)
von v.

Câu trả lời:


197

Sử dụng cú pháp ngoặc đơn của Razor:

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

hoặc là

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

Cập nhật : Với C # 6, bạn cũng có thể sử dụng $ -Notation (chuỗi nội suy chính thức):

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


Tôi thấy điều này hữu ích khi tôi đang thực hiện một chuỗi. Tham gia bên trong mệnh đề @if. Bên trong dấu ngoặc nguệch ngoạc, điều này đã không hoạt động: string.Join(",", Model.AppInfo.MailingCodes); nhưng sử dụng câu trả lời ở đây, điều này đã làm công việc:@(string.Join(",", Model.AppInfo.MailingCodes))
Đánh dấu

9

String.Format cũng hoạt động trong Razor:

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


0

Bạn có thể dùng:

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

-3

plus hoạt động tốt, cá nhân tôi thích sử dụng hàm concat hơn.

var s = string.Concat (chuỗi 1, chuỗi 2, chuỗi, 3, v.v.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.