Сценарий: сайт ASP.NET с главной страницей с верхними, левыми и боковыми полосами. Телу страницы иногда нужно отображать данные из других URL-адресов. Например, на главной странице будет отображаться гиперссылка «Show Cities». Нажав на эту ссылку, вы откроете новое окно с URL-адресом «https: //yourcompany/cities.aspx». Этот ASPX не связан с сайтом ASP.NET.
Я хотел бы изменить это, чтобы показать «https: //yourcompany/cities.aspx» на самом сайте ASP.NET. Поэтому, когда пользователи нажимают «Показывать города», на сайте будут отображаться заголовок, верхний, левый, а тело покажет все результаты, показанные городами.aspx.
Каков наилучший подход и предложения? Это похоже на создание фреймов? Нужна помощь в этом отношении.
Дополнительная информация по этому вопросу: У MasterPage есть несколько гиперссылок или кнопок, таких как Show Cities, Show Dealers и т. Д. Нажав на ShowCities, вы должны показать свою компанию/cities.aspx (внешний сайт), а так же «ShowDealers» щелкнуть должен показать «mycompany.com/ShowDealers.aspx» ;. Таким образом, каждая ссылка имеет собственный уникальный клик и результаты, но результаты должны отображаться на нашем сайте, чтобы пользователь не чувствовал, что он перенаправляется где-то. Также область/граница, где он показывает результат, не должен показывать URL-адрес этого внешнего сайта
В зависимости от источника и целевой аудитории. Вы можете создать страницу city.aspx на своей главной странице и просто установить ее тело как IFrame с целевой страницей в качестве источника.
Работает очень хорошо, но некоторые мобильные устройства не поддерживают iFrames.
Разметка:
И по коду ...
yourid.src="http://to-the-new-site.aspx";
Я думаю, это должно сработать.
UPDATE - providing js version:
Если вы определяете функцию javascript следующим образом:
function setFrameSrc(newSrc)
{
document.getElementyById('yourid').src=newSrc;
//note: 'yourid' is the iframe id from my initial example.
}
И у вас есть ссылка:
function setFrameSrc(newSrc)
{
document.getElementById('yourid').src=newSrc;
//note: 'yourid' is the iframe id from my initial example.
}
Will work. Test here.