Estendendo modelos de editor ASP.NET MVC 3
-
27-09-2019 - |
Pergunta
Eu tenho um modelo que contém uma propriedade para um URL de imagem:
[Required]
[DataType(DataType.ImageUrl)]
public string Logo { get; set; }
Como você pode ver, o tipo de dados é um imageurl e eu use esse fato para criar um modelo de editor no diretório Views/compartilhado.
O modelo precisa apenas extencer o modelo padrão adicionando alguns elementos HTML extras. Não tenho certeza de como fazer isso.
Tentei especificar o nome do modelo quando chamo os ajudantes do HTML, mas isso não parece funcionar para mim.
O código que estou usando é (observe que isso é lado de dentro o modelo personalizado):
@Html.EditorFor(model => model, "string")
Se você está se perguntando, eu tenho o nome do modelo usando o refletor na MVC 3 DLL, depois em
System.web.mvc.html
Eu olhei para o contrato para o TemplateHelpers classe e vi esta linha:
dictionary3.Add(typeof(string).Name, new Func<HtmlHelper, string>(DefaultEditorTemplates.StringTemplate));
Saúde por qualquer ajuda Tony
Atualizar
Esqueci de mencionar. A razão pela qual estou fazendo isso é aproveitar a validação discreta que é com o MVC 3
Solução
Por que não apenas usar @Html.TextBoxFor(m => m)
ao invés de EditorFor
no seu modelo de editor? :)