Frames maken in ASP.NET (om andere URL's op de ASP.NET-site weer te geven)

Scenario: ASP.NET-site met een hoofdpagina met balken bovenaan, links en zijkant. De hoofdtekst van de pagina moet soms de gegevens van andere URL's worden getoond. Er zal bijvoorbeeld een hyperlink zijn op de masterpagina "Show Cities". Als u op deze link klikt, wordt een nieuw venster geopend met de URL 'https: //uwbedrijf/cities.aspx'. Deze ASPX is niet gekoppeld aan de ASP.NET-site.

Ik zou dit willen wijzigen om "https: //uwbedrijf/cities.aspx" binnen de ASP.NET-site zelf weer te geven. Dus wanneer gebruikers op "Steden weergeven" klikken, zal de site header, top, left tonen en de body zal alle resultaten tonen die cities.aspx toont.

Wat is de beste aanpak en suggesties? Is het alsof ik frames moet maken? Heb wat hulp nodig in dit opzicht.

Meer informatie hierover: MasterPage heeft weinig hyperlinks of knoppen zoals Show Cities, Show Dealers etc. Klik op ShowCities om uwbedrijf/cities.aspx (externe site) te tonen en op dezelfde manier moet "ShowDealers" op "mycompany.com/ShowDealers.aspx" verschijnen. Dus elke koppeling heeft zijn eigen unieke klik en resultaten, maar de resultaten moeten op onze site worden getoond, zodat de gebruiker niet zou moeten voelen dat hij ergens anders wordt doorgestuurd. Ook moet het gebied/de grens waar het resultaat wordt weergegeven, niet de URL van die externe site weergeven

0

2 antwoord

Afhankelijk van waar de bron vandaan komt en uw doelgroep. U kunt de cities.aspx-pagina binnen uw hoofdpagina maken en eenvoudig de hoofdtekst ervan instellen als een IFrame met de doelpagina als bron.

Werkt redelijk goed, maar sommige mobiele apparaten ondersteunen iFrames niet.

1
toegevoegd
Ik heb weinig links op de hoofdpagina die allemaal externe pagina's zijn. Ze moeten allemaal binnen het kader worden weergegeven. Moet ik één ASPX-pagina maken met de naam 'ShowContent.aspx'? Geef me een paar stappen voor wat er moet worden gewijzigd op de basispagina en ergens anders.
toegevoegd de auteur Anirudh, de bron

markup:

<iframe id="yourid" runat="server" src="http://initialsource.aspx"> </iframe>

En op code achter ...

  yourid.src="http://to-the-new-site.aspx";

Ik denk dat het zou moeten werken.

UPDATE - providing JS version:

Als u een javascript-functie als deze definieert:

function setFrameSrc(newSrc)
{
    document.getElementyById('yourid').src=newSrc;
    //note: 'yourid' is the iframe id from my initial example.
}

En je hebt je link als volgt:

function setFrameSrc(newSrc)
{
    document.getElementById('yourid').src=newSrc;
    //note: 'yourid' is the iframe id from my initial example.
}

Will work. Test here.

1
toegevoegd
@Anirudh Ik dacht dat de interactie ongeveer zo was: de gebruiker klikt op een link die zegt "Shows Sites" die een lijst met links naar verschillende sites weergeeft (vermoedelijk in een repeater ingevuld, bijvoorbeeld). Door vervolgens op de specifieke link in de repeater te klikken, geeft u de inhoud van die site weer in het iframe. Bevestig dat het geval is en ik zal wat begeleiding geven.
toegevoegd de auteur Icarus, de bron
@Anirudh zou je daarvoor pure JavaScript moeten kunnen gebruiken. Zal een js-voorbeeld geven.
toegevoegd de auteur Icarus, de bron
@Anirudh gaf een voorbeeld.
toegevoegd de auteur Icarus, de bron
@anIrudh in plaats van mij voortdurend te raden, waarom plaats je geen van beide markup of op zijn minst een foto. U kunt alles vertrouwelijk verwijderen/verbergen. Laat de belangrijke stukken maar liggen.
toegevoegd de auteur Icarus, de bron
Ik heb weinig links op de hoofdpagina die allemaal externe pagina's zijn. Ze moeten allemaal binnen het kader worden weergegeven. Overweeg het bovenstaande, vertel me alsjeblieft waar de bovengenoemde wijzigingen moeten worden verwerkt? bedankt.
toegevoegd de auteur Anirudh, de bron
@Lcarus: Het is zo. MasterPage heeft weinig hyperlinks of knoppen zoals Show Cities, Show Dealers enz. Klik op ShowCities om yourcompany/cities.aspx (externe site) en op vergelijkbare manier "ShowDealers" klik zou moeten tonen " mycompany.com/ShowDealers.aspx" ; Dus elke link heeft zijn eigen unieke klik en resultaten, maar de resultaten moeten op onze site worden weergegeven, zodat de gebruiker niet het gevoel moet hebben ergens naartoe te worden geleid. Ook moet het gebied/de grens waar het resultaat wordt getoond, niet de URL van die externe site weergeven .
toegevoegd de auteur Anirudh, de bron
@Lcarus: bedankt voor de details. Ik begrijp het nog steeds niet en het is mijn fout. Momenteel heb ik gewoon een basispagina met die 2 hyperlinks in de top van de hoofdpagina. Kun je me vertellen wat ik moet doen in de masterpage (en het CSV-bestand)? Ook hoe weet de klikgebeurtenis welk deel van de pagina moet worden gevuld met de externe pagina? Geef enkele stappen bij de implementatie ... bedankt
toegevoegd de auteur Anirudh, de bron
@Lcarus: ik werk aan de suggesties maar heb weinig problemen/knelpunten. Ik kom binnen een uur terug.
toegevoegd de auteur Anirudh, de bron