Как использовать фрейм на странице ASP.NET? - PullRequest
7 голосов
/ 13 декабря 2008

Как правильно использовать фрейм на странице asp.net, чтобы у меня был левый фрейм и правый фрейм, когда я нажимаю ссылки на странице, представленной в левом фрейме, он загружает соответствующую страницу в правом фрейме ? Кроме того, мне нужно иметь главную страницу на всех страницах правильного фрейма.

Как мне это сделать? или есть другой способ добиться того же эффекта?

Спасибо, Ray.

Ответы [ 4 ]

5 голосов
/ 13 декабря 2008

Да. Рамки злые. Вы не должны действительно использовать их.

Они вызывают проблемы, но в (очень) нескольких крайних случаях они могут быть полезными и более дешевыми с точки зрения времени разработки, они все еще довольно часто появляются в сгенерированной документации API.

Но в любом случае, видя, как вы спросили, как их использовать, мы идем

Прежде всего, это зависит от того, хотите ли вы использовать набор фреймов или просто поместить несколько фреймов на страницу, если фреймы проще, но опишет набор фреймов. Некоторые ссылки ниже. Если вы покопаетесь на машине обратного пути на archive.org, вы увидите несколько примеров, а также онлайновые java-документы Sun, которые раньше были в наборах фреймов, но годами не рассматривали их.

http://www.w3schools.com/tags/tag_frameset.asp
http://www.w3schools.com/tags/tag_iframe.asp

По сути, содержимое каждого фрейма - это отдельные страницы, и сами фреймы должны быть названы в файле, который содержит набор фреймов, который может выглядеть примерно так:

<html>
<frameset cols="25%,75%">
  <frame name="_left" src="nav.aspx" />
  <frame name="_right" src="foo.aspx" />
</frameset>
</html>

Итак, ради упражнения дайте атрибуту левого фрейма name = "__ left" и name = "__ right" для правого.

Важные биты о ссылках
Любые ссылки внутри вашего правого фрейма, которые должны быть нацелены на этот фрейм, должны иметь target = "_self", а любые ссылки, которые должны выходить из фрейма и устанавливать местоположение родительской страницы, должны иметь target = "_ top".

Для ссылок в левом фрейме должен быть указан атрибут target = "_ right", и при щелчке по ссылке соответствующий документ должен загружаться в правый фрейм.

В остальном все нормально, рассматривайте содержимое правой рамки как обычную страницу, делайте главную страницу как обычную, все обычные html, head, body тэги и т. Д. В фреймах нет ничего особенного в aspnet или php или что-нибудь еще, это просто HTML.

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

Итак, они злые, но это не должно помешать вам узнать о них, вы действительно поймете, почему они злые, и сформируете собственное мнение о том, когда и когда их не использовать.

3 голосов
/ 13 декабря 2008

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

http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/

Пример на этом сайте выглядит так:

http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/finished.html

Если вы хотите, чтобы макет помещался на экране, просто определите высоту для #main. Вам просто нужно добавить это в свой CSS после того, как вы закончите:

#main{height:600px}

Измените "600px" на любую высоту, какую хотите, если она вам не подходит.

Чтобы использовать его на главной странице, просто сделайте свою главную страницу, следуя примеру выше, а затем сделайте внутри тега #main <div /> свой основной ContentPlaceholder

0 голосов
/ 15 июня 2013

вы можете поместить код iframe в раздел body. пример приведен ниже. попробуйте это:)

<iframe width="100%" height="600px" scrolling="no" seamless="yes" src="https://facebook.com"></iframe>
0 голосов
/ 13 декабря 2008

Короткий и сладкий ответ?

Фреймы и наборы фреймов больше не нужны и не полезны в веб-разработке, и они создают гораздо больше проблем, чем решают.

Более подробно:

Есть три вещи, которые вы, вероятно, используете для помощи фреймов:

1) Вы хотите иметь панель навигации слева и отдельную область содержимого справа, в основном вертикальное разделение.

Безрамное решение:

Используйте обычный HTML и CSS для создания 2-х колоночного макета. См. Некоторые другие ресурсы или « Последнее руководство по макету CSS, которое вам когда-либо понадобится ».

2) Вы хотите иметь один файл с навигацией, который не обязательно должен иметь версию на нескольких разных страницах.

Безрамное решение:

Храните навигацию в отдельном файле и просто включайте ее во все ваши страницы контента. В ASP.NET вы можете создать файл UserControl или .ascx и включить его во все ваши изменения. Поместите вашу навигацию в UserControl, и вам нужно всего лишь изменить ее в одном месте.

3) Требуется более быстрая работа только с фреймом контента, который требуется перезагрузить, а не с фреймом навигации.

Безрамное решение:

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

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