displayformatattribute для пользовательского формата строки

1

Я хочу иметь возможность отмечать свойства в моей модели просмотра для форматирования с использованием настраиваемого формата при отображении в моем представлении MVC.

Я предполагаю, что мне нужен свой собственный displayformatattribute и установить displayformat, но я не уверен, как установить этот displayformat или где. Если я хочу показать номер в виде валюты, это просто, просто установите DataFormatString в "{0: C}" в конструкторе атрибута.

Но если, например, я хочу скрыть адреса электронной почты (так что удалите имя домена), как бы это сделать, используя атрибут displayformatattribute или, возможно, атрибут datatype? Поэтому это строковое поле, которое я хочу преобразовать. Я знаю, что есть другие подходы, например, пользовательские шаблоны отображения, но затем я потеряю некоторые встроенные функции htmlhelper. Я просто хочу изменить формат строки ничем иным. И желательно сделать это так же просто, как добавление атрибута в те поля, которые нуждаются в маскировке

Кажется, что DataFormatString не может взять пользовательский форматтер?

приветствие Фила

Теги:
asp.net-mvc
formatting

1 ответ

0

Аналогично: Как создать настраиваемый атрибут DisplayFormat

public class CustomDisplayFormatAttribute : DisplayFormatAttribute {
    public CustomDisplayFormatAttribute() {
        //MSDN Custom Date Format string rules:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
        DataFormatString = "{0;dddd dd MMMM YYYY}";
    }
}

Затем вы можете использовать его и базовые атрибуты, например ApplyFormatInEditMode, так:

[CustomDisplayFormatAttribute(ApplyFormatInEditMode = false)]
public DateTime? CreatedOn { get; set; }

Примечание для дат существует настройка сервера и клиента, http://msdn.microsoft.com/en-us/library/bb882561(v=vs.110).aspx обсуждает (но не отвечает), как это сделать в javascript.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню