[ASP.NET][C#]choisir le contenu d'une iframe dynamiquement [Résolu]

Messages postés
66
Date d'inscription
vendredi 13 février 2004
Dernière intervention
19 mai 2006
- - Dernière réponse : cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
- 6 avril 2005 à 09:59
Bonjour a tous,

voici mon problème. j'ai un base de donné contenant des page internet (dans un champs ou tous le code d'une page est enregistré)

J'aimerai pouvoir, quand je clique sur un lien, ouvrir un nouvelle page qui contient une iframe qui afficherai la page dont j'ai le code.
J'ai dans l'idée de créé un fichier, d'y inserré le code mais je n'arrive pas a modifié le parametres src de mon iframe pour ouvrir le bon fichier.

1/ Peut on créer un objet iframe en c#
2/
Response
.Write("<script>window.open("http://evildef.free.fr","laFrame");<"+"/script>");

Avec ce code, la page s'ouvre dans une autre fenetre alors que j'ai dans mon fichier aspx :



Vive le COBOL
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
3
Merci
c du vb.net mais y'a pas grande différence avec c#


dans le page_load


Page.RegisterStartupScript("key", "<script language='javascript'>document.all.laFrame.src='http://www.microsoft.com';</script>")


=====================================

la page aspx
============================
<form id="Form1" method="post" runat="server">
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication5.WebForm1" debug="True"%>
</form>

tu n'as pas de formulaire dans ta page aspx

yopyop

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_Yopyop
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
0
Merci
salut,

Response.Write("<script>window.open("http://evildef.free.fr","laFrame");<"+"/script>");

window.open -> ouvre une fenêtre.

essaye plutôt un truc du genre

response.write "document.all.laFrame
.src='http://www.google.com';"

yopyop
Commenter la réponse de cs_Yopyop
Messages postés
66
Date d'inscription
vendredi 13 février 2004
Dernière intervention
19 mai 2006
0
Merci
ca ne marche pas, la frame reste blanche quand je fais :


private
void Page_Load
(object sender, System.EventArgs e
)
{
Response.Write
("<script>document.all.laFrame.src='http://www.google.fr';<"+"/script>"
);

}

Quelqu'un a une autre idée ??

Vive le COBOL
Commenter la réponse de EvilDef
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
0
Merci
Salut,

Essaie:
Page.RegisterClientScriptBlock("ifrReload","<script language='javascript'>document.all.laFrame.src='url';</script>");

et si ca ne fonctionne pas, même chose mais utilises
Page.RegisterStartupScript au lein de Page.RegisterClientScriptBlock

Maintenant si ca ne fonctionne pas, il faudrait voir ta page, il se peut que l'appel soit lancé avant que ton iframe ne soit chargée

yopyop
Commenter la réponse de cs_Yopyop
Messages postés
66
Date d'inscription
vendredi 13 février 2004
Dernière intervention
19 mai 2006
0
Merci
Tiens je te donne le code, tu comprendras peut etre mieux si ya un probleme

version.aspx.cs :

using System
;
using System
.Collections
;
using System
.ComponentModel
;
using System
.Data
;
using System
.Drawing
;
using System
.Web
;
using System
.Web
.SessionState
;
using System
.Web
.UI
;
using System
.Web
.UI
.WebControls
;
using System
.Web
.UI
.HtmlControls
;
using System
.IO
;
using System
.Configuration
;


namespace version

{
public class afficheVersion : System
.Web
.UI
.Page

{

private void Page_Load(object sender
, System
.EventArgs e
)
{


// Page.RegisterClientScriptBlock("ifrReload","<script language= 'javascript'>document.all.laFrame.src='http://www.google.fr';</script>");


this
.Page
.RegisterStartupScript("ifrReload","<script language ='javascript'>document.all.laFrame.src= 'http://www.google.fr';</script>");


// string execut = "<script>window.open("http://evildef.free.fr","laFrame");<" + "/" + "script>";


// string execut = "<script>document.all.laFrame.src='http://www.google.fr';<" + "/" + "script>";
// this.Page.RegisterStartupScript("succes", execut);

// Response.Write("<script>document.frames["laFrame"].src='http://www.google.fr';<"+"/script>");
}




#region Web Form Designer generated code


override protected void OnInit(EventArgs e
)
{
InitializeComponent();
base
.OnInit(e
);
}




private void InitializeComponent()
{
this
.Load
+ = new System
.EventHandler(this
.Page_Load
);
}
#endregion
}
}

version.aspx :

<+%@ Page Language="C#" validaterequest="false" Src="version.aspx.cs" Inherits="version.afficheVersion" autoeventwireup="false" %>
<+html>
<+head>
<+/head>
<+body>
<+p>
<+iframe id="laFrame" title="laFrame" name="laFrame">
<+/iframe>
<+/p>
<+/body>
<+/html>

(euh ya pas les + mais si je colle le code tel quelle il l'execute )

Voila, et encore merci pour ton aide !!!

Vive le COBOL
Commenter la réponse de EvilDef
Messages postés
66
Date d'inscription
vendredi 13 février 2004
Dernière intervention
19 mai 2006
0
Merci
Merci ca marche, je ne sais pas ce que represente le mot "key" mais tous fonctionne donc c'est cool !!

Vive le COBOL
Commenter la réponse de EvilDef
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Dernière intervention
10 février 2010
0
Merci
re,

A chaque fois que tu ajoutes un script, tu dois lui associer un clé.
Normalement tu dois également tester si cette clé est déjà utilisée:

If(Not Me.IsStartupScriptRegistered("Startup")) Then
Me.RegisterStartupScript("Startup", scriptString)
End If -> ajoute le script à la fin du form

il y a également RegisterClientScriptBlock (IsClientScriptBlockRegistered)->ajoute le script au début du form.

dans ton cas, comme ton script intéragit avec un élément de la page au chargement de celle-ci, il faut mettre l'iFrame dans le form et le script à la fin du form (RegisterStartupScript) comme ca l'élément iFrame existe déjà et ton script le trouve.

yopyop
Commenter la réponse de cs_Yopyop

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.