Переключить кнопку отключения в представлении Razor ASP.NET MVC 4

Я пытаюсь переключаться между включением или отключением кнопки html из представления Razor на основе оператора if. Это отключает кнопку независимо от значения оператора if.

@{
    disabled = "";
    if (Model.User.PublicId == ViewBag.SiteUser.PublicId)
    {
        followClass += " you";
        followText = "You";
        disabled = "disabled";
    }
}

<button class="@followClass" disabled="@(disabled)">@(followText)</button>

person stroz    schedule 16.12.2013    source источник
comment
Кстати, вы можете избавиться от всех этих скобок.   -  person SLaks    schedule 16.12.2013


Ответы (2)


Простое исправление, просто удалите disabled="" из определения кнопки.

<button class="@followClass" @disabled >@followText</button>
person stroz    schedule 16.12.2013
comment
Disabled — это логический атрибут — см. developer.mozilla.org/en -US/docs/Web/HTML/Element/Input - наличие атрибута указывает на то, что элемент управления отключен - отключено само по себе то же самое, что disabled=disabled. Как вы обнаружили, удаление атрибута активирует элемент управления. - person pwdst; 16.12.2013

Если вы хотите оставить отключенным в определении кнопки, вы можете сделать следующее:

<button @if (@Model.DisableButtonModel) {  @("disabled='1'") }>My Button</button>

person Matt    schedule 19.05.2015