У меня есть требование создать шаблон редактора в ASP.NET для модели типа Boolean
.Шаблон должен состоять из одной кнопки, которая будет отображать '=' или '! =' В качестве значения.Например, логическая кнопка
Когда пользователь нажимает кнопку, он должен инвертировать логическое значение и отправить форму.
Я запускаю шаблон с этой строкой,
@Html.EditorFor(m => m.Negate, "MyBooleanTemplate")
У меня есть пользовательский шаблон редактора, работающий, если я использую TextBox в качестве ввода, и введите False или True, когда форма отправляет, модель выбирает новое значение.
@model Boolean
@Html.TextBoxFor(m => m)
Однако,когда я пытаюсь реализовать пользовательский шаблон, модель никогда не фиксирует изменение значения.
@model Boolean
@{
string propertyName = Html.ViewData.ModelMetadata.PropertyName;
string id = Html.IdForModel();
string displayValue = Model ? "!=" : "=";
string currentValue = Model.ToString();
string changeValue = (!Model).ToString();
}
<button type="button" id="@id" name="@propertyName" value="@currentValue" onclick="this.value = '@changeValue'; this.form.submit();" class="btn btn-sm">@displayValue</button>
Правильно ли я считаю, что мне нужен элемент с атрибутами id, name и value, заполненный длямодель привязки к работе?