Html.LabelFor texto especificado
-
19-09-2019 - |
Pergunta
Alguém tem alguma idéia sobre como especificar o texto quando se usa Html.LabelFor(c=>c.MyField)
. É apenas MyField
pode não ser um nome apropriado para a exibição na tela, você pode querer "O Super Fantástico campo" em vez, mas não parece haver qualquer sobrecargas.
Todas as idéias?
Solução
Você pode usar System.ComponentModel.DataAnnotations.DisplayAttribute
:
[Display(Name = "My Field")]
public string MyField { get; set; }
A configuração da propriedade ResourceType
em seu atributo permitirá que você use um arquivo de recurso.
(Antes de .NET 4 uso System.ComponentModel.DisplayNameAttribute
com a ressalva de que o nome de exibição deve ser uma constante em tempo de compilação.)
Outras dicas
solução fácil, basta adicionar o seguinte na vista:
@Html.LabelFor(c=>c.MyField, "My Field")
Há uma nova sobrecarga no MVC 3 para que você deve ser capaz de teste personalizado especificar para o ajudante labelFor.
Eu não tiver baixado v2 ainda, então eu não posso testar, mas acredito que ele funciona como DynamicData, caso em que você faria algo assim em seu modelo:
[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}
Existem duas maneiras
1 "anotações diretas" Página 2 "Annotatinos com um recurso"
anotações diretos
[Display(Name = "My Field")]
public string MyField { get; set; }
Annotatinos com um recurso
[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }
A segunda maneira exigirá para adicionar um valor no arquivo de recurso provavelmente nomeado como Resource.resx .
Uso que se adapta ao seu propósito.
Eu não tenho verificado CP1 ainda, mas eu li sobre a libertação de Scott dele e eu me lembro que o código foi gerado por T4. Eu suponho que você poderia sempre mod isso, mas eu suspeito que eles irão fornecer sobrecargas no CP2.
Edit: A fonte está sempre disponível e, portanto, você poderia apenas mod o método, alterar o gerador de T4, e você vai ser bom para ir. Também colocar em um bilhete ou pedido (de alguma forma) para esse mod por isso é trabalhada para a próxima versão.
Existem 5 sobrecargas. Vários segundo parâmetro oferta de "string labelText", que seria definido como "The Super Fantástico campo".