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

Résolu
EvilDef Messages postés 66 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 19 mai 2006 - 4 avril 2005 à 16:29
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre 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

7 réponses

cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
5 avril 2005 à 21:50
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
3
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
4 avril 2005 à 19:12
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
0
EvilDef Messages postés 66 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 19 mai 2006
5 avril 2005 à 09:34
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
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
5 avril 2005 à 10:09
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
EvilDef Messages postés 66 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 19 mai 2006
5 avril 2005 à 11:27
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
0
EvilDef Messages postés 66 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 19 mai 2006
6 avril 2005 à 09:25
Merci ca marche, je ne sais pas ce que represente le mot "key" mais tous fonctionne donc c'est cool !!

Vive le COBOL
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
6 avril 2005 à 09:59
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
0
Rejoignez-nous