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 / Exemple :
'**********************************************************************************
' $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___).
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.