none
aspx Seite ausm Plugin öffnen RRS feed

  • Frage

  • Hallo zusammen,

     habe da glaub ich ein kleines Verständisproblem. Ich möchte gerne aus einem Plugin eine .aspx öffnen. Funktioniert es denn überhaupt?

    Ich habe eine Webapplication geschrieben. Diese habe ich dann in mein Plugin hinzugefügt. Nun möchte ich gerne auf das Page_Load von der aspx zugreifen im Plugin. Nur weiß ich nicht genau wie ich das Page_Load ansprechen soll.

    Wäre schön wenn mir da jemand auf die Sprünge helfen kann.

    Hintergrund ist der, dass ich Microsoft Word mit einem Dokument ausm Plugin öffnen möchte, wenn ich auf speichern drücke im CRM

    Gruß
    Donnerstag, 17. September 2009 08:27

Antworten

  • Hallo ozwi,

    auf www.stunnware.com findest du jede Menge JScript-Beispiele mit dem unterschiedlichsten Nutzen.

    Möchtest du Word per JScript im Browser anprogrammieren, sind allerdings natürlich noch ein paar mehr Kenntnisse notwendig, aber wenn du schon in C# fit bist, sollte das kein wirkliches Problem für dich darstellen. Allerdings solltest du darauf achten, dass das Word-Objektmodell als unsicher eingestuft ist und du dadurch den IE clientseitig entsprechend auch für unsichere ActiveX-Objekte konfigurieren musst. Alternativ schreibst du dir dein eigenes ActiveX-Objekt mit C# und stufst ieses als sicher ein. Dein eigenes Objekt kann dann wiederum mit Word uneingeschränkt kommunizieren. Ein Beispiel hierzu findest du ebenso auf www.stunnware.com.

    Viele Grüße,
    Jürgen

    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de
    Mittwoch, 6. Januar 2010 09:35
    Moderator

Alle Antworten

  • Hallo,

    ich kann mir nicht vorstellen, dass dein Vorhaben sinvoll ist. Ein PlugIn wird m.E. auf dem Server ausgeführt. Das würde dazu führen, dass der Server das Worddokument öffnet. Ich glaube nicht, dass Ihr dass wollt.

    Ich denke, der richtige Ansatz wäre die aspx-Seite aus dem Formular heraus aufzurufen. Dafür bietet sich das onSave-Ereignis an.

    Schöne Grüße aus Bayern Heiko Heinrich-Nestler XING: http://www.xing.com/profile/Heiko_HeinrichNestler
    Donnerstag, 17. September 2009 09:02
  • Die aspx Seite bzw. Klasse soll eigentlich nur dafür da sein, dass Microsoft Word geöffnet wird. Mehr steckt da nicht hinter.

    Damit sollte es doch eigentlich funktionieren, wenn ich das Plugin registriere und irgendwie diese Page_load ansprechen kann, dass dann auf der Clientseite Microsoft Office Word sich öffnet, oder habe ich da ein Verständnisproblem?



    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            byte[] file = File.ReadAllBytes("C:\\temp\\test.xml");
            string fn = "test.xml";
            Response.ContentType = "application/msword";
            Response.AddHeader("Content-Disposition", "attachment; filename=" + fn);
           
            Response.BinaryWrite(file);
        }
    }
    Donnerstag, 17. September 2009 09:08

  • Ein Plugin wird auf dem Server ausgeführt und hat keine Verbindung zum Client. D.h. aus dem Plugin heraus kannst du keinerlei Informationen an den Client senden.

    Dein Vorhaben solltest du mit javascript umsetzen. Dafür gibt es verschiedene Events, beispielsweise OnLoad die das Formular der Eintität auslösen kann.

    Siehe hier:

    http://msdn.microsoft.com/en-us/library/cc150867.aspx

    • Als Antwort vorgeschlagen ckeller Donnerstag, 17. September 2009 09:38
    Donnerstag, 17. September 2009 09:33
  • Es besteht wirklich nicht die Möglichkeit über ein Plugin Microsoft Word zu öffnen??? Auch nicht über HttpResponse???

    Hatte es wie folgt gedacht:

    StringBuilder strBuilder = new StringBuilder(bmWW_Vorlage.Properties["body"].ToString());
    StringWriter strWriter = new StringWriter(strBuilder);
    
                    //char[] chars = bmWW_Vorlage.Properties["body"].ToString().ToCharArray();
    byte[] byte1 = Convert.FromBase64String(bmWW_Vorlage.Properties["body"].ToString());
    
    HttpResponse respons = new HttpResponse(strWriter);
    respons.ContentType = "application/word";
    respons.AddHeader("Content_Disposition", "attachment; filename=test.xml");
    respons.BinaryWrite(byte1);

    Habe leider noch nicht ganz verstanden was dieses Textwriter zu machen bzw zu tun hat???

    Gruß
    Donnerstag, 17. September 2009 11:52
  • Nein, mit einem Plugin geht es nicht.

    Donnerstag, 17. September 2009 12:03
  • Das ist natürlich sehr schade :-(

    Jetzt stehe ich nämlich komplett aufm Schlauch. Wie kann ich es denn im onSave realiesieren? Habe mit der Scriptsprache noch nicht gearbeitet.

    Wäre super nett wenn mir jemand helfen kann.

    Gruß
    Donnerstag, 17. September 2009 12:13
  • Hallo ozwi,

    auf www.stunnware.com findest du jede Menge JScript-Beispiele mit dem unterschiedlichsten Nutzen.

    Möchtest du Word per JScript im Browser anprogrammieren, sind allerdings natürlich noch ein paar mehr Kenntnisse notwendig, aber wenn du schon in C# fit bist, sollte das kein wirkliches Problem für dich darstellen. Allerdings solltest du darauf achten, dass das Word-Objektmodell als unsicher eingestuft ist und du dadurch den IE clientseitig entsprechend auch für unsichere ActiveX-Objekte konfigurieren musst. Alternativ schreibst du dir dein eigenes ActiveX-Objekt mit C# und stufst ieses als sicher ein. Dein eigenes Objekt kann dann wiederum mit Word uneingeschränkt kommunizieren. Ein Beispiel hierzu findest du ebenso auf www.stunnware.com.

    Viele Grüße,
    Jürgen

    Jürgen Beck

    Dipl. Kfm./Wirtschaftsinformatik
    MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
    Microsoft Certified Business Management Solutions Professional
    Microsoft Certified CRM Developer
    Microsoft Certified Trainer

    ComBeck IT Services & Business Solutions
    Microsoft Gold Certified Partner
    Microsoft Small Business Specialist

    Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors

    http://www.combeck.de
    Mittwoch, 6. Januar 2010 09:35
    Moderator