begin process at 2012 05 27 07:05:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > MÉTHODE POUR CONTOURNER LES FRAMES

MÉTHODE POUR CONTOURNER LES FRAMES


 Information sur la source

Note :
Aucune note
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :frame, html, noframe, include Niveau :Initié Date de création :29/12/2004 Date de mise à jour :29/12/2004 12:25:03 Vu :11 807

Auteur : Senynium X

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Voilà, il s'agit d'une méthode qui permet d'éviter l'utilisation des frames. (Pour ceux qui, comme moi les ont en horreur ...)
On crée donc une page principale (ici index.aspx) qui servira à contenir les autres pages appelées à partir des liens.
Je crois que le code est assez clair, testez le.

Source

  • ' //// index.aspx.vb
  • Imports System.Data.SqlClient
  • Imports System.IO
  • Imports System.Collections.Specialized
  • Public Class index
  • Inherits System.Web.UI.Page
  • Public HTM As New StringWriter
  • Public lien As String
  • Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • Try
  • Dim pos As Long = InStr(1, Request.RawUrl.ToString, "p=")
  • If (pos > 0) Then
  • Dim lien_int As String = Right(Request.RawUrl.ToString, (Len(Request.RawUrl.ToString) - pos - 1))
  • 'On verifie l'existence d'un autre paramètre dans le querystring
  • pos = InStr(1, lien_int, "&")
  • If (pos > 0) Then
  • lien_int = Left(lien_int, (pos - 1)) & ".aspx?" & Right(lien_int, (Len(lien_int) - pos))
  • Else
  • lien_int = lien_int & ".aspx"
  • End If
  • lien = lien_int
  • Server.Execute(lien, HTM)
  • Else
  • Server.Execute("test.aspx", HTM)
  • End If
  • Catch ex As Exception
  • Response.Write(ex.ToString)
  • End Try
  • End Sub
  • end class
  • ' //// index.aspx
  • <table>
  • <tr>
  • <td><img src="uneimage"></td>
  • </tr>
  • <tr>
  • <td>
  • <table>
  • <tr>
  • <td align="left" valign="top">
  • <a href="index.aspx?p=test>Page de test</a>
  • 'on peut envoyer des paramètres dans le querystring
  • <a href="index.aspx?p=test2&t=bonjour>Page de test 2</a>
  • </td>
  • <td><% response.write (htm.tostring) %></td>
  • </tr>
  • </table>
  • </td>
  • </tr>
  • </table>
  • ----------------------------------------------
  • ' //// test.aspx
  • <table><tr><td>Page test</td></tr></table>
  • ----------------------------------------------
  • ' //// test2.aspx
  • <table>
  • <tr>
  • <td>
  • Page test2
  • <% response.write(request.querystring("t") %>
  • </td>
  • </tr>
  • </table>
' //// index.aspx.vb

Imports System.Data.SqlClient
Imports System.IO
Imports System.Collections.Specialized

Public Class index
    Inherits System.Web.UI.Page

    Public HTM As New StringWriter
    Public lien As String

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   Try
      Dim pos As Long = InStr(1, Request.RawUrl.ToString, "p=")
      If (pos > 0) Then
         Dim lien_int As String = Right(Request.RawUrl.ToString, (Len(Request.RawUrl.ToString) - pos - 1))

'On verifie l'existence d'un autre paramètre dans le querystring
         pos = InStr(1, lien_int, "&")
         If (pos > 0) Then
            lien_int = Left(lien_int, (pos - 1)) & ".aspx?" & Right(lien_int, (Len(lien_int) - pos))
         Else
            lien_int = lien_int & ".aspx"
         End If
         lien = lien_int
         Server.Execute(lien, HTM)
       Else
         Server.Execute("test.aspx", HTM)
       End If
    Catch ex As Exception
      Response.Write(ex.ToString)
    End Try
End Sub

end class


' //// index.aspx
<table>
   <tr>
     <td><img src="uneimage"></td>
   </tr>
   <tr>
     <td>
        <table>
          <tr>
            <td align="left" valign="top">
                <a href="index.aspx?p=test>Page de test</a>
                'on peut envoyer des paramètres dans le querystring
                <a href="index.aspx?p=test2&t=bonjour>Page de test 2</a> 
            </td>
            <td><% response.write (htm.tostring) %></td>
          </tr>
        </table>
      </td>
    </tr>
</table>

----------------------------------------------

' //// test.aspx 

<table><tr><td>Page test</td></tr></table>

----------------------------------------------

' //// test2.aspx 

<table>
   <tr>
     <td>
        Page test2
       <% response.write(request.querystring("t") %>
     </td>
   </tr>
</table>

 Conclusion

On a donc la possibilté d'envoyer des paramètres en Querystring aux pages appelées, mais pour ça, il faut que ceux ci soient placé après le paramètre "p" et non avant sinon ceux ci sont envoyés à la page index.aspx

Exemple
<a href="index.aspx?o=untest&p=test&o2=unautretest>Un lien</a>
le paramètre o sera envoyé à la page index.aspx et non à test.aspx tandis que o2 sera envoyé aux 2 pages.

Allez j'espère que ça aidera , ciao


 Historique

29 décembre 2004 12:25:04 :
Correction d'une erreur de syntaxe

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

Source .NET (Dotnet) ASP.NET - COMMENT CONTRÔLER UN FRAMESET ET SES FRAMES DEPUIS... par fabrice69
Source avec Zip Source avec une capture Source .NET (Dotnet) FORCOMMUNAUTY WYSIWIG EN VB.NET par tkfe
Source avec Zip Source avec une capture AFICHAGE HTML/ASP D'UNE STRUCTURE DE TABLE par AC1
Source avec Zip Source avec une capture Source .NET (Dotnet) FORCOMMUNAUTY WYSIWIG EN C# par tkfe
Source .NET (Dotnet) ASP.NET - CONTRÔLER TOUT CONTRÔLE HTML DEPUIS LE CODE BEHIND par fabrice69

Commentaires et avis

Commentaire de jesusonline le 29/12/2004 15:32:46 administrateur CS

Connais tu les UserControls, les fichiers ascx ?

c'est beaucoup plus simple que ca, et bien plus performant ! ta technique c'est comme un include file tout coté code.

la meme chose que toi mais en beaucoup plus performant car la page "enfant" sera un controle, et aura donc des propriétés que l'on pourra rajouter dans le code de l'enfant

--test.aspx
<% Control langage="VB" codebehind="test.aspx.vb"%>
<table><tr><td>Page test</td></tr></table>

--test.aspx.vb
public class test
inherits system.web.userControl
private sub page_load(sender as object, e as eventargs) handle page.load
response.write(now)
end sub
end class

et dans le code de la page

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dim page() as string = request.querystring("page").split;
for each s as page
            Page.Controls.Add(Page.LoadControl(s & ".ascx"))
page.load
next
end sub

et l'url sera du type :
index.aspx?page=test;autretest;test

Cyril

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Include dans 1 mail [ par dbgrenoble ] Bonjourje souhaiterai envoyer un email via une page asp avec ASPSmartMail. Jusque la tout va bien.Je desire mettre dans le Body de mon mail au format include bizarre [ par yami_no_ookami ] je fais un site asp et voici mon probleme. Quand je fais par exemple ceci : &lt;tr&gt; &lt;td background="images/fond.gif"&gt; &lt;!- pages asp.net dans frame html [ par komard ] salut !j'ai une page html dans laquelle j'ai deux frames :dans la premiere, j'ai une dropdownlist et lorsque je change l'index selectionné, j'airmerai frame html + asp.net [ par mael974 ] bonjour jai un ContentPlaceHolder et je voudrais placer une frame htm a linterieur !!! comment faire ??? merci=&gt; MaEl &lt;= Faire des pseudo frame en incluant des fichier HTML [ par EvilDef ] Bonjour a tous,voici mon probleme, j'aimerai savoir comment, en divisant ma fenetre en 2 partie,ou la premiere est un menu cod&#233; directement dans je dois generer mon site asp en HTML !!!! URGENT !!!! [ par jeremay ] Salut, j'ai une base de donn&#233;e access. Je l'exploite via une interface ASP de visualisation.J'ai environ 3000 reference.JE dois en faire un catal [JAVASCRIPT] Forcer une impression WebBrowser.ExecWB(6,6) PLUSIEURS FOIS de suite [ par jjaco ] Bonjour,J'ai un programme qui imprime plusieurs documents. Soint un par un, soit tous d'un coup. L'impression tous d'un coup, marche si j'utilise wind Frame:Récupérer des données dans un topFrame pour utiliser dans le mainFrame... [ par asp_shamai ] bonjour &#224; tous,c'est vrai que l'utilisation des framesets dans le developpement de site web est r&#233;volue ou (du moins on utilise de moins en Recupérer valeur/index d'un élément sélectionné dans un <select> HTML en C# [ par Smoofy ] Voilà mon code HTML (dans mapage.aspx). La liste se créé correctement sans problème. J'ai bien renseigné propriétés id et name. Choisir... <% //remp include d'un fichier c# [ par marhoa ] J'ai vu que beaucoup de personnes faisaient des includes de fichiers ".aspx" mais est-il possible de faire l'include d'un fichier ".cs"? Ca m'aiderai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales