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

EvilDef 66 Messages postés vendredi 13 février 2004Date d'inscription 19 mai 2006 Dernière intervention - 4 avril 2005 à 16:29 - Dernière réponse : cs_Yopyop 586 Messages postés lundi 7 janvier 2002Date d'inscription 10 février 2010 Dernière intervention
- 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
cs_Yopyop 586 Messages postés lundi 7 janvier 2002Date d'inscription 10 février 2010 Dernière intervention - 5 avril 2005 à 21:50
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

Merci cs_Yopyop 3

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de cs_Yopyop
cs_Yopyop 586 Messages postés lundi 7 janvier 2002Date d'inscription 10 février 2010 Dernière intervention - 4 avril 2005 à 19:12
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
EvilDef 66 Messages postés vendredi 13 février 2004Date d'inscription 19 mai 2006 Dernière intervention - 5 avril 2005 à 09:34
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
cs_Yopyop 586 Messages postés lundi 7 janvier 2002Date d'inscription 10 février 2010 Dernière intervention - 5 avril 2005 à 10:09
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
EvilDef 66 Messages postés vendredi 13 février 2004Date d'inscription 19 mai 2006 Dernière intervention - 5 avril 2005 à 11:27
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
EvilDef 66 Messages postés vendredi 13 février 2004Date d'inscription 19 mai 2006 Dernière intervention - 6 avril 2005 à 09:25
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
cs_Yopyop 586 Messages postés lundi 7 janvier 2002Date d'inscription 10 février 2010 Dernière intervention - 6 avril 2005 à 09:59
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.