У меня есть модель, которая содержит свойство для URL изображения:
[Required]
[DataType(DataType.ImageUrl)]
public string Logo { get; set; }
Как видите, тип данных - это ImageUrl, и я использовал этот факт для создания шаблона редактора в каталоге Views / Shared.
Шаблон должен только расширить шаблон по умолчанию, добавив несколько дополнительных элементов HTML. Я не уверен, как это сделать.
Я пытался указать имя шаблона при вызове html-помощников, но мне это не помогло.
код, который я использую (обратите внимание, что это внутри пользовательский шаблон):
@Html.EditorFor(model => model, "string")
Если вам интересно, я получил имя шаблона с помощью рефлектора на MVC 3 dll, затем в
System.Web.Mvc.Html
Я посмотрел на конструктор класса TemplateHelpers и увидел следующую строку:
dictionary3.Add(typeof(string).Name, new Func<HtmlHelper, string>(DefaultEditorTemplates.StringTemplate));
Приветствия за любую помощь
Tony
Обновление
Забыл упомянуть. Причина, по которой я это делаю, состоит в том, чтобы воспользоваться ненавязчивой проверкой, которая есть в MVC 3