Câu trả lời được chấp nhận là tuyệt vời nếu loại là một số nguyên, nhưng rất nhiều ids gió lên được đánh máy như là một chuỗi để ngăn chặn mất số 0 hàng đầu. Bạn có thể định dạng một chuỗi bằng cách chia nhỏ nó thành từng mảnh với Substring
và làm cho nó có thể tái sử dụng bằng cách dán nó vào một DisplayTemplate.
Bên /Shared/DisplayTemplates/
, hãy thêm một mẫu tên Phone.vbhtml
:
@ModelType String
@If Not IsNothing(Model) AndAlso Model.Length = 10 Then
@<span>@String.Format("({0}) {1}-{2}",
Model.Substring(0, 3),
Model.Substring(3, 3),
Model.Substring(6, 4))</span>
Else
@Model
End If
Bạn có thể gọi này trong một vài cách sau:
Chỉ cần chú thích bất động sản trên mô hình của bạn với một kiểu dữ liệu của cùng một tên:
<DataType("Phone")> _
Public Property Phone As String
Và sau đó gọi bằng cách sử dụng đơn giản DisplayFor
:
@Html.DisplayFor(Function(model) model.Phone)
Ngoài ra, bạn có thể chỉ định DisplayTemplate bạn muốn sử dụng theo tên:
@Html.DisplayFor(Function(model) model.VimsOrg.Phone, "Phone")
Hmm, tôi sẽ gặp rắc rối xung quanh với điều này, nhưng cả hai điện thoại và SSN được lưu trữ như VARCHAR trong cơ sở dữ liệu của tôi, vì vậy tôi sẽ phải làm một ít bước chân để có được những thuộc tính được thiết lập là 'long'. Không có cách nào để làm điều đó với các thuộc tính được gõ là 'chuỗi'? –
Một tùy chọn, sẽ là thiết lập mô hình xem với thuộc tính loại dài và chú thích dữ liệu có liên quan và chỉ cần chuyển đổi loại giữa thực thể miền của bạn và xem mô hình: Convert.ToInt64 ("123456789") – Jesse
lol ... downvotes tình yêu trên câu trả lời đã hơn một tuổi mà không có ý kiến tương ứng .... – Jesse