3. März 2012 17:16
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
6. März 2012 10:32
Hallo Leo,
die folgende Antwort kam auf deinen identischen Post im CRM Forum von MS:
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.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.