none
MS CRM 2011 Zugriff auf userID und weiterer Informationen

    Frage

  • Hallo liebes Forum,

    ich bin grade am verzweifeln,vielleicht kannt mir einer von euch weiterhelfen.

    Ich möchte eine Silverlight Applikation in einem Dashboard ablegen. Dafür habe ich folgende Schritte gemacht :

    1) Applikation geschrieben ( funktioniert auch ) C# Code zum Zugriff auf die CRM Daten :

     public MainPage()
            {
                InitializeComponent();

               
               dynamic xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");
             
               
                try
                {

                    serverUrl = xrm.Page.context.getServerUrl();

           
                 

                   // textBox2.Text = xrm.Page.context.getUserId();  // funktinier auch nicht!

                  //  userID = xrm.Page.context.getUserId();   // auch nicht

              // Nutzung der HTML Bridge

            
                 ScriptObject xrm_2 = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");

                 ScriptObject page = (ScriptObject)xrm.GetProperty("Page");

                 ScriptObject pageContext = (ScriptObject)page.GetProperty("context");

                 serverUrl = (string)pageContext.Invoke("getServerUrl");

                 userID = (string)pageContext.Invoke("getUserId");

                   

                  

                }
                catch (Exception)
                {
                   
                   
                    HtmlPage.Window.Alert(   
                       serverUrl);   // Testweise ausgabe geht!! bekomme den Servernamen zurück


                    HtmlPage.Window.Alert(
                       userID);      // ruft auf zeigt aber keine USerID an


                }

    2) Der HTML habe ich ../ClientGlobalContext.js.aspx eingefügt um eine die Daten im CRM zurückzugreifen

    3) Als lösung importiert und Veröffentlich und die HTML die auf die XAP verweist in meinem Dashboard hochgeladen

        funktioniert auch ! aber es wird keine UserID angezeigt der Servername aber schon!

    Kann mir jemand einen Tip geben wie kann ich an den aktuell eingeloggten User kommen !!!!

    Vielen Dank im Voraus.

    Gruß Leno

     

    Samstag, 3. März 2012 15:14

Alle Antworten

  • Hallo Leno!

    Im Javacript (z.B im onload einer Entität) bekommst du die UserId mit:

    var userId = Xrm.Page.context.getUserId();
    alert((userId));

    Im Silverlight bekommst du die ServerUrl und die UserId so:

    ScriptObject xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");
    ScriptObject page = (ScriptObject)xrm.GetProperty("Page");
    ScriptObject pageContext = (ScriptObject)page.GetProperty("context");

    string serverUrl = (string)pageContext.Invoke("getServerUrl");
    string userId = (string)pageContext.Invoke("getUserId");

    HtmlPage.Window.Alert("ServerUrl: " + serverUrl + Environment.NewLine + "UserId: " + userId);

    Die Silverlight-Page muss als Webresource im CRM geladen werden.


    Ich hoffe das bringt weiter. Andreas(a)Donaubauer.com www.crmfaq.de

    Montag, 5. März 2012 08:56