ASP.NET - CUSTOM WEB CONTROL RENVOYANT LE CONTENU D'UN FICHIER DE TYPE TEXTE
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
6 août 2004 à 18:57
cs_Domilo
Messages postés32Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention22 février 2005
-
11 août 2004 à 09:27
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Domilo
Messages postés32Date d'inscriptionjeudi 31 janvier 2002StatutMembreDernière intervention22 février 2005 11 août 2004 à 09:27
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+
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 7 août 2004 à 00:36
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___
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 6 août 2004 à 23:52
cs_fabrice69
Messages postés1765Date d'inscriptionjeudi 12 octobre 2000StatutMembreDernière intervention11 décembre 20135 6 août 2004 à 19:45
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.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 6 août 2004 à 18:57
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 :)
11 août 2004 à 09:27
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+
7 août 2004 à 00:36
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___
6 août 2004 à 23:52
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
6 août 2004 à 19:45
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___
6 août 2004 à 18:57
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 :