2014-02-10 2 views
0

Straightaway. В моей модели у меня есть поле DistanceTravelled, оно типа double. Теперь всякий раз, когда я хочу отображать его с помощью вспомогательного метода @Html.DisplayFor, я хочу, чтобы значение расстояния было добавлено «Km». Например:Добавление строки к атрибуту модели

123 Kmвместо 123

Я могу сделать это путем размещения Km в конце @Html.DisplayFor помощника. Но я надеялся, что должен быть какой-то атрибут аннотации данных или какой-либо другой более простой способ.

Спасибо, что постарались помочь. :)

ответ

1

Вы можете использовать

[DisplayFormat(DataFormatString="{0} km")] 
public double DistanceTravelled {get;set;} 

Подробнее о DisplayFormatAttribute: DisplayFormatAttribute Class

2

Вы можете изменить свой ViewModel к чему-то вроде этого:

... 
string DistanceTravelled {{ get { return String.Format("{0} km",this.DistanceTravelled; };set; } 
... 

Но я думаю, что это не будет работать с вашим Doulble. Неявная конвенция между двойным и строками :(

Ok получила его :)

В модели представления:

using System.ComponentModel.DataAnnotations; 
+ 
[DisplayFormat(DataFormatString="{0}km")] 
double DistanceTravelled {get;set;} 

и этот код ниже для Id = 2:

@Html.DisplayFor(m=>m.Id) 

оказывает, как

2Km 
+0

Хорошая идея. Любая идея с аннотациями данных? DisplayFormat? –

+0

Проверить мое обновление – szpic

Смежные вопросы