Как переопределить редактор для макета - PullRequest
1 голос
/ 29 декабря 2011

Как переопределить редактор для макета? Например, если я хочу визуализировать некоторый текст до или после поля редактора.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Вот пример кода для добавления текста до и после EditorFor.

Шаг 1: Определите поле в классе модели с конкретным типом данных с логически звучащими пользовательскими именами, такими как SmallText, CustomName и т. Д. Я только что использовал«MyTypeOfField» в этом примере.

[Required(ErrorMessage = "Field_Value code is a required field.")]
    [MaxLength(100)]
    [Display(Name = "Field Display Name")]
    [DataType("MyTypeOfField")]
    public string MyField { get; set; }

Шаг 2: Создайте «MyTypeOfField.cshtml» в папке: Views / Shared / EditorTemplates с приведенным ниже кодом.Если папка EditorTemplates отсутствует, создайте ее.

@inherits System.Web.Mvc.WebViewPage<string>
@string.Format("{0, -10}","XXXXXXXXXX") @Html.TextBox("", "", new { style = "width:30px; text-align:right;" }) @string.Format("{0, -10}","1234567890")

Надеюсь, это поможет!

0 голосов
/ 29 декабря 2011

EditorFor - это метод расширения, определенный для класса HtmlHelper.если вы хотите переопределить его, вы должны создать подкласс HtmlHelper.согласно это обсуждение переопределения методов расширения является плохой идеей.Даже если вы решите пойти по этому пути, как заставить mvc использовать подкласс HtmlHelper вместо значения по умолчанию.Ваша лучшая ставка может быть перегрузка метода EditorFor и использование его в представлениях вместо значений по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...