Подтвердить что ты не робот

Как скрыть элемент div в зависимости от значения модели? MVC

Вот что я имею в данный момент

 hidden="@(Model.IsOwnedByUser||!Model.CanEdit)"

Это отлично работает в Chrome, но не скрывается в Internet Explorer

Я попробовал также установить видимость false, но не повезло.

тогда я узнал еще один стиль, как показано ниже

style="@(Model.IsOwnedByUser||!Model.CanEdit)?'display:none'""

Я не мог сработать. Каков правильный формат, чтобы скрыть элемент с синтаксисом Razor?

Или я бы использовал Jquery, чтобы скрыть элемент. но действительно ли возможно распечатать инструкцию jquery, которая скроет элемент при загрузке страницы?

4b9b3361

Ответ 1

В приведенном ниже коде должны применяться разные классы CSS, основанные на свойстве Model CanEdit Property.

<div class="@(Model.CanEdit?"visible-item":"hidden-item")">Some links</div>

Но если это что-то важное, как ссылки "Редактировать/Удалить", вы не должны просто скрываться, потому что люди могут обновлять разметку класса CSS/HTML в своем браузере и получать доступ к вашей важной ссылке. Вместо этого вы должны просто не рендерить важный материал в браузере.

@if(Model.CanEdit)
{
  <div>Edit/Delete link goes here</div>
}

Ответ 2

Try:

<div style="@(Model.booleanVariable ? "display:block" : "display:none")">Some links</div>

Используйте атрибут стиля "Показать" с атрибутом модели bool, чтобы определить видимость div.

Ответ 3

Ваш код не работает, потому что скрытый атрибут не поддерживается в версиях IE перед v11

Если вам нужно поддерживать IE до версии 11, добавьте стиль CSS, чтобы скрыть, когда присутствует скрытый атрибут:

*[hidden] { display: none; }