Как избежать обновления главной страницы при навигации по сайту? - PullRequest
1 голос
/ 17 мая 2011

На своем веб-сайте я создал мастер-страницу и прикрепил к ней все свои страницы. Моя структура главной страницы содержит верхний и нижний колонтитулы. Слева у него есть элемент управления древовидной структурой, который я прикрепил ко всем моим страницам, а справа - заполнитель контента для отображения содержимого соответствующих страниц.

Моя проблема в том, что когда я нажимаю любую ссылку в древовидной структуре, она обновляет всю главную страницу и открывает соответствующую страницу. Я хочу избежать этого обновления. Означает, что содержимое страницы должно отображаться в правой части заполнителя содержимого без обновления всей страницы.

Я видел людей, предлагающих использовать фреймы. Но для использования фреймов мне придется реструктурировать свой сайт. Есть ли другое решение, кроме iframes и с минимальными изменениями в работе, которую я сделал?

Ответы [ 3 ]

2 голосов
/ 17 мая 2011

Возможно, вы захотите посмотреть на использование AJAX, чтобы этого не произошло. Возможно, вы захотите ознакомиться с использованием UpdatePanel . Ниже приведены некоторые хорошие статьи, которые идут по этому поводу:

У вас также есть возможность использовать jQuery для обработки ваших вызовов AJAX. Хотя я обычно предпочитаю использовать jQuery при использовании AJAX, я не уверен, что использовал бы его в вашей ситуации. Если вы хотите посмотреть, что он предлагает, взгляните на следующие ссылки:

0 голосов
/ 01 июля 2011

Класс главной страницы является производным от класса UserControl, а главная страница похожа на дочерний элемент управления.Таким образом, мы можем сказать, что главная страница не является истинной страницей, когда при загрузке страницы мы можем заметить, что URL-адрес навигации в адресной строке - это страница содержимого, но не главная страница!поэтому мы не можем обновить страницу содержимого без обновления главной страницы.

есть один способ избежать мерцания страницы, добавив код в раздел на главной странице.

<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)"/>

<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)"/>
0 голосов
/ 17 мая 2011

Вы можете поместить содержимое, которое вы хотите изменить, в asp:UpdatePanel таким образом, что это будет единственное, что перекрашивается (используется AJAX под капотом):

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx

...