Pour charger le contenu d'un usercontrol "WebForm.ascx",=20
Il suffit de faire :
myUserControl =3D Page.LoadControl("Webform.ascx")
J'aimerai changer le proc=E9d=E9:
En fait ma page (WebForm.ascx) n'existe pas, elle est=20
stock=E9e en base de donn=E9e.
La solution est donc de cr=E9er un fichier sur le serveur et=20
et de le remplir avec le champ de base de donn=E9e, puis de=20
rappeller la m=E9thode Page.LoadControl()
Exemple :
Dim myTemplate as string
myTemplate =3D "... R=E9cup=E9ration Bdd ..."
Dim myStreamWriter As StreamWriter
If Not File.Exists("WebForm.ascx") Then
myStreamWriter =3D File.CreateText("WebForm.ascx")
Else
myStreamWriter =3D New StreamWriter("WebForm.ascx")
End If
Tout ceci marche. Le seul gros probl=E8me, c'est qu'on est=20
oblig=E9 de laiss=E9 des droits d'=E9criture sur un r=E9pertoire=20
du site, ce qui n'est pas g=E9nial au niveau s=E9curit=E9.
Comment faire pour ne pas avoir =E0 cr=E9er le fichier ?
Le probl=E8me c'est que LoadControl n'accepte comme=20
param=E8tre qu'un chemin Virtuel.
Impossible de lui passer un stream ou quoique ce soit=20
d'autres qui ne soit pas un fichier r=E9=E9l sur le serveur ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zazar
Bonjour,
Pour charger le contenu d'un usercontrol "WebForm.ascx", Il suffit de faire : myUserControl = Page.LoadControl("Webform.ascx")
J'aimerai changer le procédé:
En fait ma page (WebForm.ascx) n'existe pas, elle est stockée en base de donnée. La solution est donc de créer un fichier sur le serveur et et de le remplir avec le champ de base de donnée, puis de rappeller la méthode Page.LoadControl() Exemple :
Dim myTemplate as string myTemplate = "... Récupération Bdd ..."
Dim myStreamWriter As StreamWriter If Not File.Exists("WebForm.ascx") Then myStreamWriter = File.CreateText("WebForm.ascx") Else myStreamWriter = New StreamWriter("WebForm.ascx") End If
Tout ceci marche. Le seul gros problème, c'est qu'on est obligé de laissé des droits d'écriture sur un répertoire du site, ce qui n'est pas génial au niveau sécurité.
Vous pouvez mettre le fichier dans un sous-repertoire de votre application. Il suffit ensuite d'autoriser la lecture et l'écriture dans le sous-repertoire de votre application, et d'en interdire l'accés (y compris en lecture) aux utilisateurs internet. Si dans ce répertoire, vous ne stockez que des fichiers temporaires, ça ne devrait pas poser de pblm de sécurité.
-- Zazar
Bonjour,
Pour charger le contenu d'un usercontrol "WebForm.ascx",
Il suffit de faire :
myUserControl = Page.LoadControl("Webform.ascx")
J'aimerai changer le procédé:
En fait ma page (WebForm.ascx) n'existe pas, elle est
stockée en base de donnée.
La solution est donc de créer un fichier sur le serveur et
et de le remplir avec le champ de base de donnée, puis de
rappeller la méthode Page.LoadControl()
Exemple :
Dim myTemplate as string
myTemplate = "... Récupération Bdd ..."
Dim myStreamWriter As StreamWriter
If Not File.Exists("WebForm.ascx") Then
myStreamWriter = File.CreateText("WebForm.ascx")
Else
myStreamWriter = New StreamWriter("WebForm.ascx")
End If
Tout ceci marche. Le seul gros problème, c'est qu'on est
obligé de laissé des droits d'écriture sur un répertoire
du site, ce qui n'est pas génial au niveau sécurité.
Vous pouvez mettre le fichier dans un sous-repertoire de votre application.
Il suffit ensuite d'autoriser la lecture et l'écriture dans le
sous-repertoire de votre application, et d'en interdire l'accés (y compris
en lecture) aux utilisateurs internet. Si dans ce répertoire, vous ne
stockez que des fichiers temporaires, ça ne devrait pas poser de pblm de
sécurité.
Pour charger le contenu d'un usercontrol "WebForm.ascx", Il suffit de faire : myUserControl = Page.LoadControl("Webform.ascx")
J'aimerai changer le procédé:
En fait ma page (WebForm.ascx) n'existe pas, elle est stockée en base de donnée. La solution est donc de créer un fichier sur le serveur et et de le remplir avec le champ de base de donnée, puis de rappeller la méthode Page.LoadControl() Exemple :
Dim myTemplate as string myTemplate = "... Récupération Bdd ..."
Dim myStreamWriter As StreamWriter If Not File.Exists("WebForm.ascx") Then myStreamWriter = File.CreateText("WebForm.ascx") Else myStreamWriter = New StreamWriter("WebForm.ascx") End If
Tout ceci marche. Le seul gros problème, c'est qu'on est obligé de laissé des droits d'écriture sur un répertoire du site, ce qui n'est pas génial au niveau sécurité.
Vous pouvez mettre le fichier dans un sous-repertoire de votre application. Il suffit ensuite d'autoriser la lecture et l'écriture dans le sous-repertoire de votre application, et d'en interdire l'accés (y compris en lecture) aux utilisateurs internet. Si dans ce répertoire, vous ne stockez que des fichiers temporaires, ça ne devrait pas poser de pblm de sécurité.
-- Zazar
Sebastioen Pertus
Merci pour la réponse, mais je cherche vraiment à ne pas avoir besoin de créer des fichiers sur le serveur :)
Je continue à chercher :)
-----Message d'origine----- Bonjour,
Pour charger le contenu d'un usercontrol "WebForm.ascx", Il suffit de faire : myUserControl = Page.LoadControl("Webform.ascx")
J'aimerai changer le procédé:
En fait ma page (WebForm.ascx) n'existe pas, elle est stockée en base de donnée. La solution est donc de créer un fichier sur le serveur
et
et de le remplir avec le champ de base de donnée, puis de rappeller la méthode Page.LoadControl() Exemple :
Dim myTemplate as string myTemplate = "... Récupération Bdd ..."
Dim myStreamWriter As StreamWriter If Not File.Exists("WebForm.ascx") Then myStreamWriter = File.CreateText("WebForm.ascx") Else myStreamWriter = New StreamWriter("WebForm.ascx") End If
Tout ceci marche. Le seul gros problème, c'est qu'on est obligé de laissé des droits d'écriture sur un répertoire du site, ce qui n'est pas génial au niveau sécurité.
Vous pouvez mettre le fichier dans un sous-repertoire de
votre application.
Il suffit ensuite d'autoriser la lecture et l'écriture
dans le
sous-repertoire de votre application, et d'en interdire
l'accés (y compris
en lecture) aux utilisateurs internet. Si dans ce
répertoire, vous ne
stockez que des fichiers temporaires, ça ne devrait pas
poser de pblm de
sécurité.
-- Zazar
.
Merci pour la réponse, mais je cherche vraiment à ne pas
avoir besoin de créer des fichiers sur le serveur :)
Je continue à chercher :)
-----Message d'origine-----
Bonjour,
Pour charger le contenu d'un usercontrol "WebForm.ascx",
Il suffit de faire :
myUserControl = Page.LoadControl("Webform.ascx")
J'aimerai changer le procédé:
En fait ma page (WebForm.ascx) n'existe pas, elle est
stockée en base de donnée.
La solution est donc de créer un fichier sur le serveur
et
et de le remplir avec le champ de base de donnée, puis de
rappeller la méthode Page.LoadControl()
Exemple :
Dim myTemplate as string
myTemplate = "... Récupération Bdd ..."
Dim myStreamWriter As StreamWriter
If Not File.Exists("WebForm.ascx") Then
myStreamWriter = File.CreateText("WebForm.ascx")
Else
myStreamWriter = New StreamWriter("WebForm.ascx")
End If
Tout ceci marche. Le seul gros problème, c'est qu'on est
obligé de laissé des droits d'écriture sur un répertoire
du site, ce qui n'est pas génial au niveau sécurité.
Vous pouvez mettre le fichier dans un sous-repertoire de
votre application.
Il suffit ensuite d'autoriser la lecture et l'écriture
dans le
sous-repertoire de votre application, et d'en interdire
l'accés (y compris
en lecture) aux utilisateurs internet. Si dans ce
répertoire, vous ne
stockez que des fichiers temporaires, ça ne devrait pas
Merci pour la réponse, mais je cherche vraiment à ne pas avoir besoin de créer des fichiers sur le serveur :)
Je continue à chercher :)
-----Message d'origine----- Bonjour,
Pour charger le contenu d'un usercontrol "WebForm.ascx", Il suffit de faire : myUserControl = Page.LoadControl("Webform.ascx")
J'aimerai changer le procédé:
En fait ma page (WebForm.ascx) n'existe pas, elle est stockée en base de donnée. La solution est donc de créer un fichier sur le serveur
et
et de le remplir avec le champ de base de donnée, puis de rappeller la méthode Page.LoadControl() Exemple :
Dim myTemplate as string myTemplate = "... Récupération Bdd ..."
Dim myStreamWriter As StreamWriter If Not File.Exists("WebForm.ascx") Then myStreamWriter = File.CreateText("WebForm.ascx") Else myStreamWriter = New StreamWriter("WebForm.ascx") End If
Tout ceci marche. Le seul gros problème, c'est qu'on est obligé de laissé des droits d'écriture sur un répertoire du site, ce qui n'est pas génial au niveau sécurité.
Vous pouvez mettre le fichier dans un sous-repertoire de
votre application.
Il suffit ensuite d'autoriser la lecture et l'écriture
dans le
sous-repertoire de votre application, et d'en interdire
l'accés (y compris
en lecture) aux utilisateurs internet. Si dans ce
répertoire, vous ne
stockez que des fichiers temporaires, ça ne devrait pas