Modification d'un IFrames InnerHtml depuis le code-behind
Je suis en train de définir le code HTML d'une Iframe au moment de l'exécution, à partir du code derrière.
Dans ma page aspx, j'ai:
<asp:Button ID="btnChange" runat="server" Text="Change iframe content"
onclick="btnChange_Click" />
<br />
<iframe id="myIframe" runat="server" />
dans le code behind:
protected void btnChange_Click(object sender, EventArgs e)
{
myIframe.InnerHtml = "<h1>Contents Changed</h1>";
}
Lorsque je l'exécute.... il publie, mais ne modifie pas la myIframe contenu à tous les...
Ce que je fais mal??
J'ai besoin de le faire parce que im la mise en œuvre de 3D secure dans mon processus de commande..
en gros:
1) le client entre détails de carte de crédit
2) le formulaire est soumis, vérifie avec la passerelle de paiement 3d secure est nécessaire. si oui, l'url est générée pour les banques emplacement sécurisé pour entrer des informations
3) j'ai créer une requête POST à l'url suivante, qui contient une longue émission de jeton de sécurité, et de quelques autres éléments d'information. - je trouver le code HTML renvoyé par ce POST, et le besoin de l'afficher dans une iFrame.
Heres ce que dit la documentation à faire:
<html>
<head>
<title>Please Authenticate</title>
</head>
<body onload="OnLoadEvent();">
<form name="downloadForm" action="https://mybank.com/vbyv/verify" method="POST">
<input type="hidden" name="PaReq" value="AAABBBBCCCCHHHHHH=">
<input type="hidden" name="TermUrl" value="https://www. MyWidgits.Com/next.cgi">
<input type="hidden" name="MD" value="200304012012a">
</form>
<script language="Javascript"> <!-- function OnLoadEvent(){ document.downloadForm.target = "ACSframe"; document.downloadForm.submit(); } //--> </script>
<!-- MERCHANT TO FILL IN THEIR OWN BRANDING HERE -->
<iframe src="blank.htm" name="ACSframe" width="390" height="450" frameborder="0">
</iframe>
<!-- MERCHANT TO FILL IN THEIR OWN BRANDING HERE -->
</body>
</html>
probablement une meilleure solution que de ne rien faire est d'extraire les informations nécessaires à partir de la réponse post plutôt que de vider tout comme le contenu
OriginalL'auteur Alex | 2009-08-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer ceci:
ou peut-être que ce sera trop de travail:
OriginalL'auteur Mr. Smith
Il n'y a aucun attribut innerHTML pour un iFrame. Cependant, depuis HTML 5.0, il y a une nouvelle srcdoc attribut. http://www.w3schools.com/tags/tag_iframe.asp
Que vous pourriez utiliser comme ceci:
OriginalL'auteur P-L
Vous ne pouvez pas changer iframe propriété innerHTML. Il n'a pas de propriété innerHTML à tous. Essayez de RegisterStartupScript et l'utilisation du document.écrire pour changer le contenu de l'iframe, car il est une fenêtre.
Par la manière, je pense que la balise HTML est de meilleur endroit pour cela.
OriginalL'auteur Emrah GOZCU
OriginalL'auteur mangokun
ce que vous devez faire est de créer une autre page aspx qui est vide et qui obtient la réponse et le charge dans son propre corps, en d'autres termes remplacer lui-même, comme
mypage.aspx:
puis placez la page à l'intérieur ur iframe...
tout simplement, l'iframe est un client à côté de la fenêtre, vous ne pouvez pas faire référence à son corps comme un objet à partir du côté serveur, il n'en a pas encore été chargé!
OU... vous pouvez ouvrir un fichier html, vidage de la réponse puis enregistrez et fermez... que le fichier est référencé par votre iframe toujours. de Texte utiliser les objets de flux, ou filesystemobject ou similaire...
PS. je n'ai pas essayé de
OriginalL'auteur Ayyash