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

SharePoint .NET Discussion :

placer des paramètres dans une URL avec querystring


Sujet :

SharePoint .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut placer des paramètres dans une URL avec querystring
    Bonjour,

    Je souhaiterais savoir comment passer des paramètres dans mon URL courante avec querystring. Le but de ceci étant de placer des paramètres dans l'URL courante après authentification de l'utilisateur qui permettront de filtrer les données métiers à afficher sur ma page (utilisation du Businness Data Item Builder).

    J'ai deux problèmes:
    1. Je ne sais pas comment coder cela
    2. Je ne sais pas ou mettre le code (dans la page default.aspx du modèle de site ?)


    J'ai essayé le code suivant sans résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private string txtName = "Name";
     
                        private void btnSubmit_Click(object sender, System.EventArgs e)
                        {
                           Response.Redirect("Webform2.aspx?Name=" +
                          this.txtName.Text;
                        } 
     
                          private void Page_Load(object sender, System.EventArgs e)
                          {
                              this.txtBox1.Text = Request.QueryString["Name"];
                          }
    Etant novice en Sharepoint et C#, je suis vraiment perdu. Si quelqu'un pouvait m'aiguiller un peu...

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Essaie HttpContext.Current.Request.Params["Name"]; pour récupérer ton paramètre

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    D'accord mais comment intégrer le mon code à mon site ? dans la page default.aspx ? dans une Web Part personnalisée ?

    Mon problème principal est de savoir ou mettre le code après je pourrais toujours l'adapter pour que cela fonctionne mais n'ayant aucun résultat visible sur mes pages, je ne sais pas si mon code est bon.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Je te conseillerais de le faire dans un webpart.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    J'ai essayé en plaçant le code dans un Web Part (je développe le Web Part avec WSPBuilder), voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    using System;
    using System.Collections.Generic;
    using System.Runtime.InteropServices;
    using System.Web.UI;
    using System.Web.UI.WebControls.WebParts;
     
    namespace WebPartPerso
    {
        [Guid("b6f158bb-fc7d-4ad1-b06c-4386ffca2e45")]
        public class WebPartFeature1 : Microsoft.SharePoint.WebPartPages.WebPart
        {
            private bool _error = false;
            private string _myProperty = null;
     
     
            [Personalizable(PersonalizationScope.Shared)]
            [WebBrowsable(true)]
            [System.ComponentModel.Category("My Property Group")]
            [WebDisplayName("MyProperty")]
            [WebDescription("Meaningless Property")]
            public string MyProperty
            {
                get
                {
                    if (_myProperty == null)
                    {
                        _myProperty = "Hello World";
                    }
                    return _myProperty;
                }
                set { _myProperty = value; }
            }
     
     
            public WebPartFeature1()
            {
                this.ExportMode = WebPartExportMode.All;
            }
     
            /// <summary>
            /// Create all your controls here for rendering.
            /// Try to avoid using the RenderWebPart() method.
            /// </summary>
            protected override void CreateChildControls()
            {
                if (!_error)
                {
                    try
                    {
     
                        base.CreateChildControls();
     
                        // Your code here...
     
                        // début test query string       
                        private string txtName = "DAGDD";
     
                        private void btnSubmit_Click(object sender, System.EventArgs e)
                        {
                           Response.Redirect("Webform2.aspx?Name=" +
                          this.txtName.Text;
                        } 
     
                        private void Page_Load(object sender, System.EventArgs e)
                        {
                            HttpContext.Current.Request.Params["Name"];
                        }
                        // fin test query string
     
                        this.Controls.Add(new LiteralControl(this.MyProperty));
                    }
                    catch (Exception ex)
                    {
                        HandleException(ex);
                    }
                }
            }
     
            /// <summary>
            /// Ensures that the CreateChildControls() is called before events.
            /// Use CreateChildControls() to create your controls.
            /// </summary>
            /// <param name="e"></param>
            protected override void OnLoad(EventArgs e)
            {
                if (!_error)
                {
                    try
                    {
                        base.OnLoad(e);
                        this.EnsureChildControls();
     
                        // Your code here...
                    }
                    catch (Exception ex)
                    {
                        HandleException(ex);
                    }
                }
            }
     
            /// <summary>
            /// Clear all child controls and add an error message for display.
            /// </summary>
            /// <param name="ex"></param>
            private void HandleException(Exception ex)
            {
                this._error = true;
                this.Controls.Clear();
                this.Controls.Add(new LiteralControl(ex.Message));
            }
        }
    }

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Je trouve que tu fais super compliqué mais ce n'est qu'un avis ça dépend de ce que tu cherches à faire exactement.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    Je suis débutant dans le domaine, je ne sais donc pas par ou commencer, on m'avait conseillé WSPBuilder pour développer des Web Parts, cependant il n'est pas si simple à utiliser.
    Ce que je veux faire, c'est avoir une méthode pour passer des paramètres dans mon URL (comme un paramètre de session si tu veux) afin de filtrer les Web Parts données métiers. A terme, j'aimerais que par un système d'authentification de l'utilisateur, je puisse conserver un ou plusieurs paramètres de session.
    Le problème est que je débute aussi en C#, je ne sais donc pas du tout comment mettre cela en place et toutes mes tentatives ont échoués pour l'instant

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Perso je fais mes webparts avec visual studio 2008 et ça marche nickel.

    Pour ton paramètre, tu peux créer un webpart que tu mets sur une page et dans le CreateChildControls tu récupères l'utilisateur connecté et tu fais ta redirection vers cette même page + ton id.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    A quoi correspond CreateChildControls ? Si je comprenais un peu ce que veut dire le code de base pour la création du Web Part je pourrais peut être m'en sortir malgré que je ne connais pas très bien le Framwork.

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    En fait quand tu crées un nouveau projet visual studio du type webpart sharepoint il te met cette fonction par défaut. En gros elle permet de créer les controles qui seront affichés dans ton webpart comme des zones de texte, des boutons,...
    Essaie de faire une recherche sur google tu devrais trouver des tutos la dessus je pense ou regarde sur ce site.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    ok je vais me renseigner

    Un dernier truc m'intrigue, j'ai essayé de refaire une fonction qui affiche du texte de la même manière que MyProperty dans mon code mais j'ai initialisé la chaîne de caractère de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private string monTexte = string.Empty;
    or dans mon modèle la chaîne est initialisé avec "null". La méthode string.Empty ne fonctionne pas... pourquoi ?

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    J'ai une autre question qui me taraude:

    Supposons qu'un utilisateur soit connecté, comment récupérer les informations sur l'utilisateur (son login par exemple) ?

    Je travaille sur un site Sharepoint qui n'est pas encore déployé en extranet et je suis connecté dessus automatiquement. J'aimerais savoir comment récupérer les informations me concernant afin de pouvoir les replacer dans mon URL.

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Pour private string monTexte = string.Empty;
    Essaie de mettre
    - private string monTexte = String.Empty;
    - private string monTexte = "";


    comment récupérer les informations sur l'utilisateur connecté
    Voici quelques infos
    un SPContext.Current.Web récupère le site web sur lequel est installé ton webpart.
    un SPContext.Current.Web.Lists récupère les listes du site web
    ...
    un SPContext.Current.Web.CurrentUser récupère l'utilisateur connecté au site web => tu peux mettre .LoginName pour récupérer son login, .Name pour son nom, .ID pour son ID,....

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    Le problème est que SPContext.Current.Web n'est pas reconnu par mon compilateur apparemment car j'ai l'erreur suivante:

    Le nom "SPContext" n'existe pas dans le contexte actuel

    J'avais cette même erreur lorsque j'utilisais HttpContext.Current.Request.Params ou encore Request.QueryString

    Pourtant le Framework .NET est bien installé sur ma machine, de plus les références Sharepoint sont installés dans le GAC (je travaille sur le serveur directement)

  15. #15
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Salut,

    Le nom "SPContext" n'existe pas dans le contexte actuel
    Est-ce que tu as using Microsoft.Sharepoint en haut de ton fichier ?

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Sinon tu fais un clic droit sur l'élément qui pose problème puis Résoudre et tu choisis le using proposé.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    Est-ce que tu as using Microsoft.Sharepoint en haut de ton fichier ?
    J'ai ajouter cette référence mais le problème persiste.

    Sinon tu fais un clic droit sur l'élément qui pose problème puis Résoudre et tu choisis le using proposé.
    J'ai essayé de faire un clique droit sur les mots qui posent problème dans le code mais je n'ai pas l'option "résoudre". Cependant, j'ai essayé l'option "Rechercher toutes les références" qui est proposé lorsque je fais un clique droit sur un des mots qui posent problème mais il n'y a aucun résultat à la recherche.

  18. #18
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Est ce que t'as aussi mis la référence Microsoft.SharePoint dans ton projet ?
    Dans l'explorateur de solutions clic droit sur Références -> Ajouter une référence

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 104
    Points : 38
    Points
    38
    Par défaut
    Je ne me rappelles pas l'avoir fait, de plus je ne trouve pas cette référence en faisant clique droit > ajouter une référence

    Cependant Microsoft.Sharepoint apparaît dans le répertoire références de mon explorateur de solutions.

  20. #20
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 519
    Points : 1 663
    Points
    1 663
    Par défaut
    Dans ce cas c'est qu'il fait bien partie de tes références.

Discussions similaires

  1. Accéder à une page avec des paramètres dans l'url
    Par *alexandre* dans le forum JSF
    Réponses: 3
    Dernier message: 11/03/2009, 20h53
  2. Passer des paramétres dans une URL
    Par adrix26 dans le forum SharePoint
    Réponses: 3
    Dernier message: 04/06/2008, 16h54
  3. Réponses: 1
    Dernier message: 21/03/2006, 14h29
  4. [JpGraph] Passage d'un tableau en paramètre dans une URL pour JPgraph
    Par crazydiver_e2 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/01/2006, 16h15
  5. récupérer les paramètres dans une url
    Par asetti dans le forum ASP
    Réponses: 6
    Dernier message: 23/12/2005, 10h08

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