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

Silverlight Discussion :

(impression + silverlight + asp + html + lien targetName=_blank ) = mon problème


Sujet :

Silverlight

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 436
    Points : 963
    Points
    963
    Par défaut (impression + silverlight + asp + html + lien targetName=_blank ) = mon problème
    Bonjour, je cherche à permettre aux utilisateurs de l'intranet que je développe d'imprimer des états de listing clients et résultat de proc_stock.

    J'arrive désormais à faire communiquer une application silverlight avec des balises html (envoie d'un string de silverlight à un input text et vice versa).

    Je génère le pdf via crystal report.

    Ok tout va bien.

    Mais comme mon site est une application FULL silverlight, j'ai du créer un autre projet. L'application web hébergeant l'application SL principale héberge également l'application SL qui communique avec une page asp. Cette page asp est utilisé pour générer le pdf / fichier Word / Excel ...

    (Je rappel au passage que l'appli SL secondaire est là pour me permettre de tester l'envoie d'info de SL à ma page html comme par exemple l'ID du client ...)

    Voilà "grosso modo" pour le contexte.

    Mon problème est le suivant :

    Comment, dans une page fille, créer un lien vers la page asp qui crée le pdf ? Comme je suis dans une frame / page fille, je n'ai pas accès à l'url. Et un this.parent ne trouve pas l'objet NavigationService.

    Comment y accéder ? Car mon site est utilisé sur 2 ports différents (2 sociétés qui partage certaines choses comme intranet, ...) donc je veux pouvoir construire l'url du lien en prenant la base de la page (du http: jusqu'au slash précédant MonAppliTestPage.aspx)

    Par ailleurs, j'aimerai votre avis sur les moyens de transmettre des informations à la page asp ?

    J'ai pensé à plusieurs cas :
    Je passe des paramètres et reconstruire la source de données dans la page asp avec une procédure stockée ? Je passe un tableau / liste / collection qui contient la liste des clients ?
    Variable de session ? IsolateStorage ?

    Dois-je implémenter un code permettant de communiquer entre 2 applications silverlight ?

    Je ne vous demande pas de répondre à toutes ces questions qui me chagrinent et m'empêche de dormir le soir :'( mais si vous m'éclairer sur certains points, j'en serai plus que ravie

    Merci beaucoup d'avance. Sur ce bon weekend à vous les dev

  2. #2
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Salut,

    j'ai pas tout suivi mais je pense que tu peux faire un bouton qui t'ouvre une page qui va t'afficher un pdf en inline.

    1. dans ton appli silverlight tu crée ton bouton qui ouvre un popup "tapage.machin?id=tonnumid"

    Dans ton appli silverlight tu peux faire un bouton qui t'ouvre un popup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim opt = New HtmlPopupWindowOptions()
    opt.Width = 800
    opt.Height = 600
     
     
    Dim s = Application.Current.Host.Source.AbsoluteUri.Replace("ClientBin/monfhierxap.xap", "")
     
    s = s & "printpdf.ashx?id=" & unparametre
     
    Dim url = New Uri(s)
     
    System.Windows.Browser.HtmlPage.PopupWindow(url, "_blank", opt)
    Et dans la partie serveur, le fichier printpdf.ashx (oui je l'ai fait en ashx)

    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
    Imports System.Web
    Imports System.Web.Services
     
     
     
    Imports System.IO
    Imports System.IO.File
     
     
    Public Class ImgView
        Implements System.Web.IHttpHandler
     
    ...
     
    Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
     
                Dim file = TONFICHIERPDF
               If Not Exists(file) Then
                    context.Response.ContentType = "plain/text"
                    context.Response.Write("fichier introuvable " & file)
                    Return
                End If
     
                context.Response.ContentType = "application/pdf"
                Dim fic As New FileStream(file, FileMode.Open)
                Dim sortie() As Byte
                ReDim sortie(fic.Length)
                fic.Read(sortie, 0, fic.Length)
                fic.Close()
                context.Response.BinaryWrite(sortie)
            End If
     
        End Sub
    Bon c'est du copié/collé/modifié, en bidouillant un peu ca devrait marcher.

    mais c'est peut-etre pas la méthode que tu recherches.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 436
    Points : 963
    Points
    963
    Par défaut
    Bonjour ! Je reviens de deux semaines 2 cours. Me revoilà au taff ! Je vais regarder ton code.

    Je te tiens au courant dans la journée.

    En tout cas c'est super gentil de m'avoir répondu. Merci bien !

    Nk54.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 436
    Points : 963
    Points
    963
    Par défaut
    J'essaye de faire qq chose avec les popup. Le popup contiendra la page HTML qui elle, contiendra le pdf généré.

    Quel noob je suis ... J'avais oublié le :
    Application.Current.Host.Source.Port
    avant je faisais :
    this.NavigationService.CurrentSource.Port (sans résultat mdr normal il s'agissait d'une page fille :/)

    Donc ca règle pas mal de problème ^^ notamment manipuler l'adresse de la master page ... Je vous jure ... parfois j'ai l'impression qu'il me manque 6h de dodo parce que oublier un truc comme ça ... ^^

    Allé hop j'y retourne. Je te dis en fin de journée ce qu'il en est !

    (si tu n'as pas de nouvelle de ma part c'est que j'aurais un résultat quasiment proche de réussir et que je me donnerai demain matin pour terminer ... enfin je m'emballe peu être lol)

    Encore merci !

    Bon appétit et bonne journée à toi et aux autres qui passeront ici !!

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 436
    Points : 963
    Points
    963
    Par défaut
    J'ai utilisé un childwindow qui contient icone pdf excel et word. C'est tout jolie, ça fonctionne sans sortir de l'appli full silverlight


    J'utilise des proc stock et non des dataset pour la source de données. Je passe les params de la procédure stockée dans l'URL.

    Dans le popup (qui s'ouvre suite au clic du premier popup) le contenu est une page aspx qui dans le OnLoad() réalise le pdf (ou autre format) et le retourne

    Si qq1 à besoin d'un coup de main ou de code ...

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

Discussions similaires

  1. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  2. [HTML] Lien hypertexte
    Par Crazynoss dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 27/05/2005, 13h31
  3. [HTML] lien hypertexte pour aller sur un signet
    Par angelevil dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/04/2005, 00h34
  4. function asp et lien hypertexte
    Par antrax2013 dans le forum ASP
    Réponses: 13
    Dernier message: 22/01/2005, 15h24
  5. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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