Как скрыть элемент div в зависимости от значения модели? MVC
Вот что я имею в данный момент
hidden="@(Model.IsOwnedByUser||!Model.CanEdit)"
Это отлично работает в Chrome, но не скрывается в Internet Explorer
Я попробовал также установить видимость false, но не повезло.
тогда я узнал еще один стиль, как показано ниже
style="@(Model.IsOwnedByUser||!Model.CanEdit)?'display:none'""
Я не мог сработать. Каков правильный формат, чтобы скрыть элемент с синтаксисом Razor?
Или я бы использовал Jquery, чтобы скрыть элемент. но действительно ли возможно распечатать инструкцию jquery, которая скроет элемент при загрузке страницы?
Ответы
Ответ 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; }