2016-11-05 1 views
-1

мне нужно только применять культуру на одного элемента управления TextBox в атрибуте DataAnotation, а не для всей моделиКак применять культуру на уровне собственности, как DataAnotation в MVC не глобальный уровень

Языки https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx

В MVC5 C#

например.

[System.ComponentModel.DataAnnotations.DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "ur-PK")]public string test { get; set; } 

Но это не сработает.

+0

Вы являетесь «строкой», и нет смысла применять форматы к '' string''! Что ты пытаешься сделать? Каково значение свойства и каков ожидаемый результат –

+0

Я пытаюсь управлять текстовым полем rendar с поддержкой ввода языка URDU –

+0

Это не то, что для 'DisplayFormatAttribute' - для отображения числовых и' DateTime' свойств в определенном формате - так что 'DateTime', которая является сегодняшней датой, может отображаться как' 11/5/2016' или 'Sat 5 Oct 2016' и т. д. –

ответ

0

Если ваш вопрос о отображения строки в конкретной культуре, и вы не хотите, чтобы изменить язык все (Просто это TextBox), вы можете создавать собственные DataAnnotation как этот

public class LocalizedDisplayNameAttribute : DisplayNameAttribute 
{ 
    public LocalizedDisplayNameAttribute(string displayNameKey) 
     : base(displayNameKey) 
    { 
    } 

    public override string DisplayName 
    { 
     get 
     { 
      // Get your string from db 
      // or load it from specific resource file 
      //(as your business) and return string; 
     } 
    } 
} 

Но если вы не Вам не нужно все это, вы можете использовать Дисплей по умолчанию и загружать свое жало из файлов ресурсов.

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