Usando o atributo Editable no modelo de visualização do MVC 3

Eu estou olhando para usar atributos para marcar as propriedades do modelo de exibição como readonly para que os campos de exibição sejam somente leitura na exibição renderizada. A aplicação de System.ComponentModel.DataAnnotations.EditableAttribute parece ser o atributo exato de que preciso, mas parece não funcionar, ou seja, os campos da caixa de texto ainda são editáveis. Eu olhei ao redor e não encontrei respostas e apenas algumas perguntas relacionadas. O atributo editável, conforme aplicado abaixo, não funciona quando a exibição é renderizada.

<code>[Display(Name = "Last Name")]
[Editable(false, AllowInitialValue = true)]
public string LastName { get; set; }
</code>

Eu posso alcançar o comportamento de somente leitura usando uma função auxiliar de exibição como esta, mas minha preferência é usar um atributo na propriedade de modelo.

<code>@functions {
    object getHtmlAttributes()
    {
    if (@ViewBag.Mode == "Edit")
    {
      return new {style = "width:100px;background:#ff6;", @readonly = "readonly"};
    }

    return new { style = "width:100px;" };  
}
} 

@Html.TextBoxFor(model => model.FirstName, getHtmlAttributes())
</code>

Outros atributos funcionam perfeitamente bem, incluindo atributos de validação personalizados. Você pode me dizer se o atributo editável das anotações de dados funciona neste contexto, deve funcionar apenas como aplicado acima ou há algo mais que precisa ser feito? Obrigado.

questionAnswers(5)

yourAnswerToTheQuestion