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 :

Envoyer une variable asp.net vers une page php


Sujet :

ASP.NET

  1. #1
    Membre �clair� Avatar de SonnyFab
    �tudiant
    Inscrit en
    Mai 2010
    Messages
    498
    D�tails du profil
    Informations personnelles :
    �ge : 35

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par d�faut Envoyer une variable asp.net vers une page php
    Bonjour � tous,
    Mon probl�me est assez difficile � concevoir, j'�tais dans le forums en php on m'a renvoy� ici ( j'�tais surement ind�sirable ) bref voil�

    Voila j'ai une page qui contient une variable en asp.net (le login d'une application web apr�s connexion:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <%=Lang.Server["VT_VEHICLETRACKER_LOGGEDINASUSER"]%>:&nbsp;<asp:Label Font-Bold="true" ID="LabelLogedinUser" runat="server"></asp:Label>
    en m�me temps j'ai un lien vers une page php o� j'aimerais envoyer cette variable via l'url par exemple.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <li><a href="http://www.monlien.com/admin/index.php">Admin</a>
    J'aimerais faire un truc de se genre:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    www.monlien.com/admin/index.php?nid=".<%=Lang.Server["VT_VEHICLETRACKER_LOGGEDINASUSER"]%>."
    Mais je sais pas si �a pourrait marcher.

    Es ce possible? Si oui pouvez-vous me donner des id�es s'il vous plait?

    Merci d'avance

  2. #2
    Mod�rateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    F�vrier 2010
    Messages
    3 611
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : CTO
    Secteur : Finance

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par d�faut
    Bonjour,

    C'est possible, mais pour cela il faut v�rifier que ta variable Lang.Server[""] soit d�clar�e comme Protected dans ton code behind.

    Ensuite, il suffit de faire attention aux guillemets dans la page ASPX, et le lien devra ressembler � ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    <a href='page.php?nid=<%=Lang.Server["VT_VEHICLETRACKER_LOGGEDINASUSER"]%>'>texte du lien</a>
    Less Is More
    Pensez � utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre �clair� Avatar de SonnyFab
    �tudiant
    Inscrit en
    Mai 2010
    Messages
    498
    D�tails du profil
    Informations personnelles :
    �ge : 35

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par d�faut
    Voila apr�s des tests apparemment cela passe dans l'url c'est d�ja �a. merci

    Mais il s'av�rent que c'est un label ce que je cherche � envoiyer:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <asp:Label Font-Bold="true" ID="LabelLogedinUser" runat="server"></asp:Label>
    donc lorsque je mets cela dans mon lien:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <li><a href='http://www.monsite.com/admin/index.php?nid=<% =LabelLogedinUser.text %>'><%Response.Write("Admin"); %></a></li>
    J'obtiens cette erreur:
    Description : Une erreur d'application s'est produite sur le serveur. Les param�tres d'erreur personnalis�s actuels pour cette application emp�chent l'affichage � distance des d�tails de l'erreur de l'application (pour des raisons de s�curit�). Cependant, ils peuvent �tre affich�s par les navigateurs qui s'ex�cutent sur l'ordinateur serveur local.

    D�tails: Pour permettre l'affichage des d�tails de ce message d'erreur sp�cifique sur les ordinateurs distants, cr�ez une balise <customErrors> dans un fichier de configuration "web.config" situ� dans le r�pertoire racine de l'application Web en cours. Attribuez ensuite la valeur "off" � l'attribut "mode" de cette balise <customErrors>.
    Merci de me guider je crians un peu de modifer la web.config parce que l'application est un peu sensible

  4. #4
    Mod�rateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    F�vrier 2010
    Messages
    3 611
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : CTO
    Secteur : Finance

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par d�faut
    Pas la peine d'utiliser un Response.Write() pour �crire le texte de ton lien. Ceci suffit :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    <li><a href='http://www.monsite.com/admin/index.php?nid=<%=LabelLogedinUser.Text %>'>Admin</a></li>
    Ensuite, pour r�cup�rer le texte du Label, il faut v�rifier que ce Label est bien d�clar� en Protected. En gros, tu dois avoir ceci dans ton code behind :
    (C#)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    public class _Default
    {
        protected Label monLabel;
    }
    (VB)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    Public Class _Default
        Protected monLabel As Label
    End Class
    Est-ce que cela fonctionne ?
    Less Is More
    Pensez � utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre �clair� Avatar de SonnyFab
    �tudiant
    Inscrit en
    Mai 2010
    Messages
    498
    D�tails du profil
    Informations personnelles :
    �ge : 35

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par d�faut
    C'est l� o� le bas blesse Matt07, il n'ya pas de code behind dans le repertoire du site du moins qui porte le nom du fichier comme �a.

    Voici l'extrait de l'entete d'une page index par exemple mais meme en fesant une recherchce de index.aspx.cs je ne retrouve pas
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    <%@ Page Language="C#" AutoEventWireup="true" EnableViewStateMac="false" Inherits="GpsGate.VehicleTracker.WebUI.Index" CodeBehind="Index.aspx.cs" ResponseEncoding="utf-8" %>
    <%@ Register Src="WebControls/LoginControl.ascx" TagName="LoginControl" TagPrefix="Franson" %>
    J'ai vu 4 fichiers c# mais aucuns d'eux n'avaient ces noms.
    Ou c'est sa configuration? L'aspx et moi c'est pas vraiment �a

  6. #6
    Mod�rateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    F�vrier 2010
    Messages
    3 611
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : CTO
    Secteur : Finance

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par d�faut
    Hmmh, pourtant �a doit figurer quelque part. Il y a 2 cas de figure :

    1 - Ton Label est dans une Page (.asPx)
    Dans ce cas, cette d�claration doit figurer en principe dans le fichier nomDeTaPage.aspx.designer.cs

    2 - Ton Label est dans un UserControl (.asCx)
    Dans ce cas, cette d�claration doit figurer en principe dans le fichier nomDeTonUserControl.ascx.designer.cs

    Pour voir ce fichier, il faut soit passer par l'explorateur Windows, soit cliquer sur le bouton "Afficher tous les fichiers" dans le volet de la solution dans Visual Studio.

    Autre info importante, si ton Label est dans un UserControl, mais que ton lien est directement dans la Page aspx, tu ne pourras pas r�cup�rer la valeur de ton Label comme �a ...

    Le plus simple serait que tu nous fasses un copier coller de ton code (avec juste l'essentiel de ce qui nous int�resse ici) pour qu'on voit comment tout �a est organis�.
    Less Is More
    Pensez � utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre �clair� Avatar de SonnyFab
    �tudiant
    Inscrit en
    Mai 2010
    Messages
    498
    D�tails du profil
    Informations personnelles :
    �ge : 35

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par d�faut
    Ok on va aller en douceur pour que j'arrive � vous suivre
    Il y'a bizarrement 3 fichiers int�ressants. Admin.aspx, Vehicle.aspx, Vehicle.master

    Dans Admin.aspx en entete on a:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" Inherits="GpsGate.VehicleTracker.WebUI.Admin" EnableViewState="true" MasterPageFile="Vehicle.master" CodeBehind="Admin.aspx.cs" ResponseEncoding="utf-8" %>
     
    <%@ Register Src="WebControls/TrackRecorderSettingsControl.ascx" TagName="TrackRecorderControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/DeviceMappingManagerControl.ascx" TagName="DeviceMappingManagerControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/DeviceManagerControl.ascx" TagName="DeviceManagerControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/EventRuleSetupControl.ascx" TagName="EventRuleControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/TagManagerControl.ascx" TagName="TagManagerControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/UserTagControl.ascx" TagName="UserTagControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/ViewManagerControl.ascx" TagName="ViewManagerControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/MarkerSettingsControl.ascx" TagName="MarkerSettingsControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/ErrorControl.ascx" TagName="ErrorControl" TagPrefix="Franson" %>
    Puis plus loinle label qui m'interresse:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    	<td style="padding-right:10px; vertical-align:middle; text-align:right">
    				<%=Lang.Server["VT_VEHICLETRACKER_LOGGEDINASUSER"] %>:&nbsp;<asp:Label ID="LabelLogedinUser" runat="server" Font-Bold="true"></asp:Label>
    				<%=Lang.Server["VT_VEHICLETRACKER_LOGGEDINAPPLICATION"]%>:&nbsp;<asp:Label Font-Bold="true" ID="LabelLogedinApp" runat="server"></asp:Label>
    				- <asp:Label ID="LabelVersion" runat="server"></asp:Label>
    			</td>
    Puis le fichier .master (celle qui contient mon lien) en entete
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <%@ Master Language="C#" AutoEventWireup="true" Inherits="GpsGate.VehicleTracker.WebUI.VehicleTrackerMaster" CodeBehind="Vehicle.master.cs" %>
    Puis le fichier vehicle.aspx en en tete:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    <%@ Page Language="C#" AutoEventWireup="true" EnableViewStateMac="false" Inherits="GpsGate.VehicleTracker.WebUI.VehicleTracker" MasterPageFile="Vehicle.master" CodeBehind="Vehicle.aspx.cs" ResponseEncoding="utf-8" %>
    <%@ Register Src="WebControls/DeviceCommandControl.ascx" TagName="DeviceCommandControl" TagPrefix="Franson" %>
    <%@ Register Src="WebControls/GeofenceManagerControl.ascx" TagName="GeofenceManagerControl" TagPrefix="Franson" %>
    Puis y figure la partie qui m'interresse:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <asp:Label Font-Bold="true" ID="LabelLogedinUser" runat="server"></asp:Label>
    J'insiste qu'il n'ya pas de fichier qui porte aspx.cs

    Alors l� je dois avouer que moi meme je suis � la boure

  8. #8
    Mod�rateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    F�vrier 2010
    Messages
    3 611
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : CTO
    Secteur : Finance

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par d�faut
    Merci pour ces d�tails ! Il manque encore une info : o� se situe le lien contenant l'URL � laquelle tu veux rajouter le contenu du Label ?
    Less Is More
    Pensez � utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre �clair� Avatar de SonnyFab
    �tudiant
    Inscrit en
    Mai 2010
    Messages
    498
    D�tails du profil
    Informations personnelles :
    �ge : 35

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par d�faut
    C'est moi qui te remercie Matt07 ben je pense te l'avoir dis
    Puis le fichier .master (celle qui contient mon lien) en entete
    dans ce fichier j'ai quelque part
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <li><a href="http://www.monlien.com/Admin/index.php">Admin</a></li>
    <li>
    <asp:LinkButton ID="LinkButtonLogout" runat="server" OnClientClick="if (typeof(vtMain) !== 'undefined') vtMain.vTracker.getVehicleManager().stop();" OnClick="LinkButtonLogout_Click">							</asp:LinkButton>
    						            </li>
    Je r�-insiste il n'ya pas de fichier *.aspx.cs dans ce repertoire ou qui porte le meme nom que ces fichiers

  10. #10
    Mod�rateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    F�vrier 2010
    Messages
    3 611
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : CTO
    Secteur : Finance

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par d�faut
    Ah oui exact, j'ai du passer dessus trop rapidement

    Bon donc le probl�me vient du fait que, en gros pour chaque page de ton projet, il y a une classe diff�rente. Dans ton cas, on a une classe 'Admin', une classe 'VehicleTracker' et une classe 'VehicleTrackerMaster'.

    Le Label dont tu veux r�cup�rer le contenu est d�clar� au sein de la classe 'Admin' (puisqu'il est sur la page Admin.aspx).
    Le lien figure quant � lui dans la classe 'VehicleTrackerMaster'.

    Donc les 2 ne peuvent pas 'communiquer' directement.

    Si tu n'a pas de fichier *.aspx.cs, est-ce que tu as par exemple :
    - Admin.cs
    - VehicleTracker.cs
    - VehicleTrackerMaster.cs
    quelque part ?

    Au niveau des solutions qui s'offrent � toi, personnellement j'en vois 2.

    Solution 1 :

    Tu cr�es dans ton code behind une m�thode permettant de 'remonter' l'arborescence des controls jusqu'� la MasterPage, puis de redescendre jusqu'� trouver ton lien (ce sera plus facile en donnant un ID � ton lien).

    Niveau code, �a donnerait quelque chose du genre :

    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
     
    public Label FindMonLabel(String nomDuLabelATrouver)
    {
        VehicleTrackerMaster master = (VehicleTrackerMaster)base.Parent.Parent...;
        if (master != null)
        {
            ContentPlaceHolder masterCPH = (ContentPlaceHolder)master.FindControl("ContentPlaceHolderIDContenantLeLabel");
            if (masterCPH != null)
            {
                  ' ...
                  ' Etc. jusqu'à trouver le fameux Label
                  ' On calle un return monLabel; pour finir
            }
        }
    }
    Solution 2 :

    Dans ta classe 'Admin', tu ajoutes une variable avec une accessibilit� public ou static (� v�rifier, je ne sais plus laquelle permettra de r�cup�rer la valeur dans un bloc de code ASPX). Cette variable contiendra le texte du Label, par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    partial class Admin
    {
        public string maVar;
     
        protected void Page_Load(Object sender, EventArgs e)
        {
            ...
            this.maVar = this.MonLabel.Text;
        }
    }
    Ensuite dans ton lien, tu pourras afficher le texte que tu veux, via un code du genre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <a href='....php?nid=<%=Admin.maVar %>'>Admin</a>
    Autres pistes :

    Il y a d'autres solutions. Si par exemple ton souhait est de mettre le nom de l'utilisateur actuellement identifi�, et que ta solution utilise les fonctionnalit�s de gestion des utilisateurs fournies par ASP.NET, dans ce cas tu peux directement r�cup�rer cette info en mettant dans ton lien un truc du genre <%=User.Name %> (je n'ai pas en t�te le code pr�cis).

    Idem si par exemple tu es dans un contexte SharePoint, tu peux �galement r�cup�rer facilement le nom de l'utilisateur...
    Less Is More
    Pensez � utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  11. #11
    Membre �clair� Avatar de SonnyFab
    �tudiant
    Inscrit en
    Mai 2010
    Messages
    498
    D�tails du profil
    Informations personnelles :
    �ge : 35

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par d�faut
    Ouh lala tu vas me refaire lire l'asp.net
    Ok je me lance je te renvoie mes resultats.

    Merci pour la patiente c'est tr�s sympa

  12. #12
    Mod�rateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    F�vrier 2010
    Messages
    3 611
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : CTO
    Secteur : Finance

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par d�faut
    Pas de soucis si je peux filer un coup de main

    En tout cas, avant d'aller t'emb�ter avec les Solutions 1 ou 2, v�rifie bien que tu n'aies pas une solution plus simple � ta disposition, comme sugg�r� dans la partie 'Autres solutions' de mon dernier post !

    Pour ce faire, regarde par exemple dans ta classe 'Admin', comment est bind� ton Label ? D'o� proviennent les infos ?
    Less Is More
    Pensez � utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. R�ponses: 0
    Dernier message: 04/10/2013, 10h56
  2. R�ponses: 2
    Dernier message: 14/09/2010, 16h39
  3. R�cup�rer une variable ASP.NET en Javascript
    Par zooffy dans le forum ASP.NET
    R�ponses: 6
    Dernier message: 20/03/2008, 09h34
  4. R�ponses: 3
    Dernier message: 06/09/2006, 09h06
  5. [ASP.NET]Passer une variable
    Par WELCOMSMAIL dans le forum ASP.NET
    R�ponses: 4
    Dernier message: 21/04/2006, 09h38

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