IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Probleme avec LinqToSQL + BLL et commentaires utilisateurs


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut Probleme avec LinqToSQL + BLL et commentaires utilisateurs
    Bonjour à tous,

    Je cherche actuellement comment réaliser l'enregistrement et la visualisation de commentaires utilisateur sur mon site et je bloque sur un point :

    Il va de soi qu'il faut tout d'abord sécuriser l'affichage d'un commentaire (pour cela j'utilise un "literal" avec le mode sur "encode" et ce afin d'éviter l'injection de code malicieux.
    Ensuite il faudrait que je puisse convertir tous les retours à la ligne par des balises <br />.
    Malheureusement, je suis dans le flou au niveau structurel :
    J'utilise le principe de DAL (data access layer) dans laquelle j'ai mes classes repository basées sur LinqToSQL
    Ensuite j'ai une couche BLL (Business Logic Layer) dans laquelle j'ai mes services

    Je voulais donc savoir comment je pourrais travailler sur le contenu de certains champs avant affichage (parsing des sauts de lignes, sécurisation par encodage, eventuellement implémenter des balises perso)

    Comment faites vous sur vos sites ?

    Merci d'avance
    @ bientot

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Tu peux faire directement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Server.HtmlEncode(MaChaine).Replace("\r\n", "<br />")
    pour l'enregistrer.
    Pour l'affichage, tu reprends directement ce que tu as en base.

    Pour l'édition tu fais l'inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Server.HtmlDecode(MaChaine).Replace("<br />", "\r\n")
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Salut,

    Oui en fait je suis en train de me dire que je me complique bien la vie avec cette histoire de BLL. Je m'etais mis en tete que je n'avais pas d'endroit ou je pourrais faire cette conversion mais finalement si, dans les methodes de create et update ^^

    mais je suis en train de penser à autre chose...

    Dans mon cas, j'aimerai avoir la possibilité d'afficher mes textes avec un passage dans un parseur, comme dans ce forum où les balises [c o d e] sont interpretées et mises en forme.

    Je pourrais surcharger mes buisness objects avec une classe partielle qui permettrait de retourner ma propriété "commentaire" mise en forme via une deuxieme propriété genre "commentaireMisEnForme", tu vois ce que je veux dire ?

    Je ne sais pas trop quelle option choisir. Aurais tu une autre idée pour le parsing de balises personnalisées ?

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par zax-tfh Voir le message
    Oui en fait je suis en train de me dire que je me complique bien la vie avec cette histoire de BLL.
    Non non, garde ces couches c'est très utile
    Citation Envoyé par zax-tfh Voir le message
    Je m'etais mis en tete que je n'avais pas d'endroit ou je pourrais faire cette conversion mais finalement si, dans les methodes de create et update ^^
    Où ça? Tu dois retenir une chose à mon sens c'est qu'une BLL ne doit pas être dépendant de l'interface. Tu dois pouvoir faire appel à ta bll aussi bien par une console (utile pour les batchs), un winform ou un webform. Les méthodes Create/Update etc. ne font que de l'insertion ou de la mise à jour mais pas de transformations. Les données devraient être transmise telles quel.
    Citation Envoyé par zax-tfh Voir le message
    Je pourrais surcharger mes buisness objects avec une classe partielle qui permettrait de retourner ma propriété "commentaire" mise en forme via une deuxieme propriété genre "commentaireMisEnForme", tu vois ce que je veux dire ?
    Les business object n'ont pas de méthodes seulement des propriétés, la bll est là pour ça. Ccela pourrait donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:TextBox ID="txt" runat="server" Rows="10" TextMode="MultiLine"></asp:TextBox>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MonObjet o = new MonObjet();
    o.Description = "Hello world!";
    MaBll.Insert(o);
    o.Description = Server.HtmlEncode(txt.Text).Replace("\r\n", "<br />");
    MaBll.Update(o);
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Non non, garde ces couches c'est très utile
    Ce n'est pas ce que je voulais dire, je vais la garder la couche t'inquietes

    Tu dois pouvoir faire appel à ta bll aussi bien par une console (utile pour les batchs), un winform ou un webform. Les méthodes Create/Update etc. ne font que de l'insertion ou de la mise à jour mais pas de transformations
    Attention, ne pas confondre BLL et DAL
    BLL = regles métier
    DAL = accès aux données

    Les business object n'ont pas de méthodes seulement des propriétés
    Oui et c'est pour cela que je parlais de propriétés

    Tu as raison lorsque tu dis que la DAL et BLL devraient uniquement traiter les données telles quelles et c'est pour cela que ça ne m'enchante pas d'enregistrer les données "traitées" comme tu le proposes car en faisant cela, je fausserai les données stockées en base avec des caractères purement HTML -> donc exit les winforms, console et compagnie.

    C'est pour ca que j'aimerai vraiment parser mes données uniquement à l'affichage mais je ne vois pas comment faire
    Il faudrait que je me construise un controle du style litteral mais en plus élaboré quoi. Là j'aurais vraiment quelque chose d'indépendant entre les données et la présentation.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    Je vais jetter un coup d'oeil pour voir comment je pourrais etendre le controle "label" et lui ajouter quelques petits trucs maison

    Edit : Je confirme ! etendre un label est bien plus efficace
    Donc la manip est simple : créer une classe qui hérite de Label puis surcharger sa méthode render (y'a plein de docs sur google en cherchant "asp.net extending label"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] probleme avec tutoriel Multi-Utilisateur de Dolphy35
    Par robyseb dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/01/2012, 22h58
  2. probleme avec des commentaires de cellules
    Par teen6517 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/10/2010, 13h36
  3. probleme avec les commentaires
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/11/2008, 22h52
  4. Problem avec l'utilisateur courant dans SLQ
    Par soulsidibe dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/05/2006, 14h02
  5. Probleme avec changement du mot de passe utilisateur
    Par Davenico dans le forum Outils
    Réponses: 2
    Dernier message: 19/12/2003, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo