2012-06-05 2 views
4

Я начата MVC4 по умолчанию проект в Visual Studio,Нанести локализацию через файлы ресурсов для DisplayAttribute

Где-то в моей модели эта часть кода

public class LoginModel 
{ 
    [Required] 
    [Display(Name ="Name")] 
    public string UserName { get; set; } 

    [Required] 
    [DataType(DataType.Password)] 
    [Display(Name = "Password")] 
    public string Password { get; set; } 

    [Display(Name = "Remember me?")] 
    public bool RememberMe { get; set; } 
    } 

Я хочу изменить его на что-то вроде это потому, что я хочу попробовать локализации (который работает в другом классе, но не здесь) (строки = файл Resx для локализации)

public class LoginModel 
{ 
    [Required] 
    [Display(Name =strings.UserName)] 
    public string UserName { get; set; } 

    [Required] 
    [DataType(DataType.Password)] 
    [Display(Name = strings.Password)] 
    public string Password { get; set; } 

    [Display(Name = strings.RememberMe)] 
    public bool RememberMe { get; set; } 
    } 

ошибка должна быть константным выражением, Ь ut, когда я делаю это так, тогда у меня что-то вроде «индекс свойства не хватает accessor»

Что мне здесь не хватает? Почему я не могу присвоить строковое значение чертовой вещи? В Java все это намного проще. Надеюсь, ты поможешь мне.

+0

возможный дубликат [Локализация DisplayNameAttribute] (http://stackoverflow.com/questions/356464/localization-of-displaynameattribute) –

+1

спасибо !! что пост решил мои проблемы, я искал, но я думаю, я не искал права. Мне пришлось использовать [Display (ResourceType = typeof (строки), Name = "Gebruikersnaam")] , и я сделал атрибуты strings.resx всем публичным –

ответ

13

Вы должны использовать ресурсы. В атрибутах вы можете установить только неизменные значения.

Попробуйте это.

[Display(Name = "Remember me?", ResourceType = typeof(YourResourcesType))] 
public bool RememberMe { get; set; } 

И посмотрите этот ASP.NET MVC 3 localization with DisplayAttribute and custom resource provider

+0

У меня уже было решение (см. Комментарий под вопросом), но вы правы , вот как решить эту проблему. –

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