Скрыть внешние таблицы в ASP.NET - PullRequest
0 голосов
/ 30 сентября 2010

Одна из особенностей веб-сайта, над которым я работаю, заключается в том, что вы можете «максимизировать» содержимое страницы, в основном удаляя все внешние элементы страницы, навигацию, баннеры и т. Д.

В настоящее время это делается, как кажется, наихудшим из возможных способов:

<%
    if (shouldBreakFrame)
    {
        %><!--#include file="header.include" --><%
    }
%>

// Contents of page here

<%
    if (shouldBreakFrame)
    {
        %><!--#include file="footer.include" --><%
    }
%>

Нижний колонтитул в основном просто закрывает теги из заголовка.

Итак, я хочу это исправить и работаю над главной страницей, но я не уверен, как правильно «удалить» элементы HTML, которые обертывают содержимое, когда мы хотим максимизировать страницу. Было бы легко для тегов, которые открываются / закрываются на одной или другой стороне контента, но как насчет div / таблиц, которые открываются сверху и закрываются снизу?

Редактировать : Чтобы уточнить, как выглядит вывод, и почему я не могу просто «скрыть» элементы с помощью кода JavaScript или свойства .Visible, вот как может выглядеть вывод и что это должно выглядеть после того, как окружающие элементы скрыты:

<table>
    <tr>
        <td>Header</td>
    </tr>
    <tr>
        <td>
            Page content here
        </td>
    </tr>
</table>

А после того, как что-то спрятать, осталось только Page content here.

Так что, если я просто скрою таблицу, содержимое также исчезнет.

1 Ответ

2 голосов
/ 30 сентября 2010

У вас есть несколько вариантов здесь, оба требуют, чтобы элементы уже содержались в разметке (если вы не хотите идти по маршруту AJAX).

Первым было бы использовать CSS для отображения / скрытия элементов с помощью дисплея: ни один атрибут, который объяснен здесь . Тем не менее, я бы сказал, что, возможно, любимым методом будет использование jQuery. Он содержит две функции, show () и hide (), но интересно также включает функцию toggle (), которая будет показывать / скрывать элементы в зависимости от их текущей видимости. Это должно сделать ваш код более аккуратным и не беспокоиться о if(shouldBreakFrame). Я нашел эту интересную статью , которая должна помочь вам начать.

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

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