begin process at 2012 05 27 05:56:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Composants

 > ASP.NET - CUSTOM WEB CONTROL RENVOYANT LE CONTENU D'UN FICHIER DE TYPE TEXTE

ASP.NET - CUSTOM WEB CONTROL RENVOYANT LE CONTENU D'UN FICHIER DE TYPE TEXTE


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Composants Source .NET ( DotNet ) Classé sous :webcontrol, custom, fichier, texte Niveau :Initié Date de création :06/08/2004 Vu :11 542

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

Dans le même esprit que la source précédente :
- http://www.aspfr.com/code.aspx?ID=25174

Voila un exemple de Custom Web Control permettant de renvoyer dans votre page ASPX (ou User Control ASCX) le contenu d'un fichier Texte sans aucune transformation.
Je l'utilise pour intégrer des page HTML dans un site ASP.NET sans les modifier.

Source

  • '**********************************************************************************
  • ' $Archive: $
  • ' $Author: $
  • ' $Date: $ $Revision: $
  • ' Description : CustomWebControl permettant de renvoyer le flux d'un fichier HTML
  • ' ou autre
  • ' *********************************************************************************
  • Imports System.ComponentModel
  • Imports System.Web.UI
  • Imports System.IO
  • ''' -----------------------------------------------------------------------------
  • ''' Project : DotNetSysInfo
  • ''' Class : HTMLExtractCustomControl
  • '''
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' CustomWebControl permettant de renvoyer le flux d'un fichier HTML ou autre
  • ''' </summary>
  • ''' <remarks>
  • ''' </remarks>
  • ''' <history>
  • ''' [moi] 04/08/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • <DefaultProperty("Text"), ToolboxData("<{0}:HTMLExtractCustomControl runat=server></{0}:HTMLExtractCustomControl>")> Public Class HTMLExtractCustomControl
  • Inherits System.Web.UI.WebControls.WebControl
  • Dim _FileName As String = ""
  • Dim _FilePath As String = ""
  • #Region "Liste des Propriétés"
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' Nom Complêt du fichier à renvoyer
  • ''' </summary>
  • ''' <returns></returns>
  • ''' <remarks>
  • ''' </remarks>
  • ''' <history>
  • ''' [ROMELAFA] 06/08/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • <Bindable(True), Category("Appearance"), DefaultValue("")> Property [FileName]() As String
  • Get
  • Return _FileName
  • End Get
  • Set(ByVal Value As String)
  • _FileName = Value
  • End Set
  • End Property
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' Sous-Répertoire IIS ou se trouve le fichier
  • ''' </summary>
  • ''' <returns></returns>
  • ''' <remarks>
  • ''' </remarks>
  • ''' <history>
  • ''' [ROMELAFA] 06/08/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • <Bindable(True), Category("Appearance"), DefaultValue("")> Property [FilePath]() As String
  • Get
  • Return _FilePath
  • End Get
  • Set(ByVal Value As String)
  • _FilePath = Value
  • End Set
  • End Property
  • #End Region
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' Sortie envoyée par le WebControl lors de son placement dans la page
  • ''' </summary>
  • ''' <param name="output"></param>
  • ''' <remarks>
  • ''' </remarks>
  • ''' <history>
  • ''' [ROMELAFA] 06/08/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
  • Dim Temp As New System.Text.StringBuilder
  • 'Chemin d'accès de la page à insérer
  • Dim CheminComplet As String = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath) & [FilePath] & [FileName]
  • 'On lit la page
  • Dim objReader As New StreamReader(CheminComplet)
  • Dim sLine As String = ""
  • Dim arrText As New ArrayList
  • Do
  • sLine = objReader.ReadLine()
  • If Not sLine Is Nothing Then
  • arrText.Add(sLine)
  • End If
  • Loop Until sLine Is Nothing
  • objReader.Close()
  • For Each sLine In arrText
  • Temp.Append(Trim(sLine))
  • Next
  • output.Write(Temp.ToString)
  • End Sub
  • ' -----------------------------------------------------
  • End Class
  • ' -------------------- UTILISATION DU CONTROL --------------------------
  • ' Directement dans la page ASPX :
  • ...
  • <%@ Register TagPrefix="cc1" Namespace="DotNetSysInfo" Assembly="DotNetSysInfo" %>
  • <cc1:HTMLExtractCustomControl id="HTMLExtractCustomControl1" runat="server" FileName="VotreFichier.html"
  • FilePath="./LeSousRepertoireHTML/"></cc1:HTMLExtractCustomControl>
  • ...
  • ' -------------------------------------------------------------------
'**********************************************************************************
' $Archive: $ 
' $Author:  $ 
' $Date: $  $Revision: $
'  Description : CustomWebControl permettant de renvoyer le flux d'un fichier HTML 
'       ou autre
' *********************************************************************************

Imports System.ComponentModel
Imports System.Web.UI
Imports System.IO

''' -----------------------------------------------------------------------------
''' Project   : DotNetSysInfo
''' Class   : HTMLExtractCustomControl
''' 
''' -----------------------------------------------------------------------------
''' <summary>
''' CustomWebControl permettant de renvoyer le flux d'un fichier HTML ou autre
''' </summary>
''' <remarks>
''' </remarks>
''' <history>
'''   [moi]  04/08/2004  Created
''' </history>
''' -----------------------------------------------------------------------------
<DefaultProperty("Text"), ToolboxData("<{0}:HTMLExtractCustomControl runat=server></{0}:HTMLExtractCustomControl>")> Public Class HTMLExtractCustomControl
    Inherits System.Web.UI.WebControls.WebControl

    Dim _FileName As String = ""
    Dim _FilePath As String = ""

#Region "Liste des Propriétés"

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' Nom Complêt du fichier à renvoyer
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[ROMELAFA]	06/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    <Bindable(True), Category("Appearance"), DefaultValue("")> Property [FileName]() As String
        Get
            Return _FileName
        End Get

        Set(ByVal Value As String)
            _FileName = Value
        End Set
    End Property

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' Sous-Répertoire IIS ou se trouve le fichier
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[ROMELAFA]	06/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    <Bindable(True), Category("Appearance"), DefaultValue("")> Property [FilePath]() As String
        Get
            Return _FilePath
        End Get

        Set(ByVal Value As String)
            _FilePath = Value
        End Set
    End Property

#End Region

    ''' -----------------------------------------------------------------------------
    ''' <summary>
    ''' Sortie envoyée par le WebControl lors de son placement dans la page
    ''' </summary>
    ''' <param name="output"></param>
    ''' <remarks>
    ''' </remarks>
    ''' <history>
    ''' 	[ROMELAFA]	06/08/2004	Created
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)

        Dim Temp As New System.Text.StringBuilder
        'Chemin d'accès de la page à insérer
        Dim CheminComplet As String = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath) & [FilePath] & [FileName]

        'On lit la page 
        Dim objReader As New StreamReader(CheminComplet)
        Dim sLine As String = ""
        Dim arrText As New ArrayList

        Do
            sLine = objReader.ReadLine()
            If Not sLine Is Nothing Then
                arrText.Add(sLine)
            End If
        Loop Until sLine Is Nothing
        objReader.Close()

        For Each sLine In arrText
            Temp.Append(Trim(sLine))
        Next

        output.Write(Temp.ToString)

    End Sub

    ' -----------------------------------------------------
End Class

' -------------------- UTILISATION DU CONTROL --------------------------
' Directement dans la page ASPX :

...
<%@ Register TagPrefix="cc1" Namespace="DotNetSysInfo" Assembly="DotNetSysInfo" %>
<cc1:HTMLExtractCustomControl id="HTMLExtractCustomControl1" runat="server" FileName="VotreFichier.html"
	FilePath="./LeSousRepertoireHTML/"></cc1:HTMLExtractCustomControl>
...

' -------------------------------------------------------------------

 Conclusion

Bon coding

Romelard Fabrice (Alias F___).


 Sources du même auteur

Source .NET (Dotnet) SHAREPOINT 2007 - OBTENIR LA LISTE DES WEBPARTS DANS UNE PAG...
Source .NET (Dotnet) SHAREPOINT 2007 - OBTERNIR LA LISTE DES FEATURES D'UN SITE
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES COLLATIONS SHAREPOINT...
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES LANGUES INSTALLÉES DA...
Source .NET (Dotnet) C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) CUSTOM USER CONTROL COLLECTION par ranouf
Source avec Zip Source .NET (Dotnet) COMPACTER DU JAVASCRIPT par jesusonline
Source avec Zip Source avec une capture Source .NET (Dotnet) WEBCONTROL WYSIWYG POUR ASP.NET par Yxion
Source avec Zip Source avec une capture ANTIBOT par ghuysmans99
INCLURE UNE LIBRAIRIE par Warwick

 Sources en rapport avec celle ci

CHERCHER ET REMPLACER UN MOT DANS UN FICHIER TEXTE par roro59650
Source avec Zip Source avec une capture Source .NET (Dotnet) ASP.NET - EXEMPLE DE DÉVELOPPEMENT D'UN CUSTOM WEB CONTROL P... par fabrice69
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE AUTONOME par Jackboy
Source avec une capture FONCTION D'ÉCRITURE DE VARIABLES DANS UN FICHIER TEXTE par cartoongraphist
FONCTION DE RECUPERATION DU CONTENU D'UN FICHIER TEXTE par cartoongraphist

Commentaires et avis

Commentaire de jesusonline le 06/08/2004 18:57:27 administrateur CS

Pas de gestion d'erreur, et si le fichier n'existe pas ?

Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)

        Dim Temp As New System.Text.StringBuilder
        'Chemin d'accès de la page à insérer
        Dim CheminComplet As String = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath) & [FilePath] & [FileName]

try
        'On lit la page
        Dim objReader As New StreamReader(CheminComplet)
try
        Dim sLine As String = ""
        Dim arrText As New ArrayList

         Do
       sLine = objReader.ReadLine()
             If Not sLine Is Nothing Then
                 arrText.Add(sLine)
             End If
        Loop Until sLine Is Nothing

Catch ex as Exception

'Erreur
objReader.Close()

Finally
objReader.Close()

End Try

Catch ex as FileNotFoundException
' fichier non trouvé

End Try

        For Each sLine In arrText
            Temp.Append(Trim(sLine))
        Next

        output.Write(Temp.ToString)

    End Sub

et je suppose que si tu veux que ca fonctionne il faut entourer ta classe du Namespace DotNetSysInfo sauf si ce namespace est definit comme à la base dans Visual Studio.net

Mais cet autre exemple nous permet de bien comprendre les Custom Web Control :)

Il faudrait peut etre expliqué les attributs : <Bindable(True), Category("Appearance"), DefaultValue("")>

Commentaire de fabrice69 le 06/08/2004 19:45:27 administrateur CS

DotnetSysInfo est une solution en cours de dev que j'ai déja posté ici.
La classe peut être ajoutée dans n'importe qu'elle projet .net donc le namespace n'est pas du tout nécessaire.
La gestion d'erreur, je l'ai oublié car développé ca en 5 minutes pour un besoin précis.

Mais c'est une bonne remarque.

Pour les propriétés qui sont entre <>, Je n'ai pas trouvé d'info la dessus et ce sont les valeurs par défaut que je laisse.
La seule chose que j'ai trouvé :
- http://www.informit.com/articles/article.asp?p=170718&seqNum=4

F___

Commentaire de jesusonline le 06/08/2004 23:52:20 administrateur CS

les attributs sont des métadonnés : http://blogs.developpeur.org/richardc/archive/2004/03/02/744.aspx

ils servent aussi beaucoup à visual Studio.net L'attribut Category("") sert à classer la propriété lorsqu'on est en mode design dans Visual Studio, et DefaultValue la valeur par defaut :D
par contre l'attribut bindable est un peu plus complexe, il marque une propriété comme étant appropriée pour une liaison de données (MSDN)
je comprend pas ce qu'ils veulent dire par la.
--> http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemComponentModelBindableAttributeClassTopic.asp

Commentaire de fabrice69 le 07/08/2004 00:36:52 administrateur CS

Ca j'avais vu ;:) pour le bindable mais n'ayant pas compris non plus la signification je ne l'ai pas signalé.
Pour le DefaultValue, j'ai testé mais ca n'a pas fonctionné donc je ne sais pas quoi en penser.

Perso je ne m'en sers pas et laisse les valeurs par défaut (ca fonctionne bien). :)

F___

Commentaire de Domilo le 11/08/2004 09:27:26

Bonjour,

Personellement j'aurai utilisé "output.WriteFile(...)".
Si le document à sortir n'est pas à manupuler (ou à contrôler) en mémoire, je pense que c'est plus simple.

A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Variables dans un fichier texte [ par alexxx ] j'aimerai inclure l'affichage de variables dans un fichier texte. Quand les lignes du fichier sont lues dans ma page ASP, la valeur de la variable s'a Création d'un fichier Texte [ par AuSuperProgramme ] J'ai un sérieux problème lors de la création d'un fichier en reprenant des valeurs depuis un textbox pour le nom de fichier et un textarea pour le con lien hypertexte en fonction d'un fichier texte [ par mavric35 ] Je recherche un truc pour faire apparaître un fichier texte quand je vais sur un lien hypertexte en fonction d'un formulaire. Pb de déclaration de variables [ par rodman ] Voici mon programme mais j'ai une erreur pour la déclaration de rs, l'erreur est ADODB Recordset errorOperation is not allowed when the object is clos Pb de déclaration de variables [ par rodman ] Voici mon programme mais j'ai une erreur pour la déclaration de rs, l'erreur est ADODB Recordset errorOperation is not allowed when the object is clos OpenTextFile [ par lal ] Je voudrais permettre par le biais d'un champ &lt;imput type=file&gt;, permettre à l'utilisateur de saisir un fichier texte qui sera traité par la sui Acces, fichier texte, automatisation .. [ par niluje ] Salut à vous ..Voila ma question du jour :Peut-on insérer un fichier texte dans ACCES =&gt; Oui OK !!Mais peux-t-on insérer un fichier texte dans ACCE remplir une liste box à partir d'un fichier texte dans outlook2002 [ par JEFP ] comment faut-il procéder pour remplir une listBox soit à partir d'un fichier textemerci JEFP tableau et fichier texte [ par tiboleo ] bonjour!je lis dans un fichier texte depuis mon fichier .asp( FileSystemObject )pour chaque ligne de mon fichier, il y a n mots que je voudrais mettre Comment atteindre un fichier sur un autre serveur [ par vdurnez ] Voila, je cherche a consulter un serveur qui a le meme user et pwd que le serveur IIS a ma disposition.Puis-je a partir d'une page asp, aller chercher


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,593 sec (4)

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