2012-03-30 3 views
2

Ich habe eine Reihe von Schaltflächen auf einem meiner benutzerdefinierten Entitäten Multifunktionsleiste und auch eine auf Konto Entitätsleiste. Wenn ich auf einen von ihnen klicke, sehe ich eine Seitenfehlermeldung in der Statusleiste, aber alle führen ihre Funktionen korrekt aus. Als ich den Code mit den IE Developer Tools debuggte, merkte ich, dass der Seitenfehler vor der Ausführung meines Codes ausgelöst wurde. Hat jemand eine Vorstellung von dieser Situation?CRM 2011 Benutzerdefinierte Menüband-Schaltfläche, die ihre Funktionalität korrekt ausführt, aber Seitenfehler auslöst

Vielen Dank im Voraus,

Ozer

XML-Code:

<RibbonDiffXml> 
    <CustomActions> 
    <CustomAction Id="NXM.account.Form.SearchMerchantInDB.CustomAction" Location="Mscrm.Form.account.MainTab.Workflow.Controls._children" Sequence="1"> 
     <CommandUIDefinition> 
     <Button Id="NXM.account.Form.SearchMerchantInDB.Button" Command="NXM.account.Form.SearchMerchantInDB.Command" LabelText="Üye Firma/İş Yeri Sorgula" ToolTipTitle="Üye Firma/İş Yeri Sorgusu" ToolTipDescription="Firma/iş yerinin Üye Firma/İş Yeri olup olmadığı bilgisini sorgular" TemplateAlias="o1" Image16by16="$webresource:new_searchmagnifier16x16" Image32by32="$webresource:new_searchmagnifier32x32" /> 
     </CommandUIDefinition> 
    </CustomAction> 
    </CustomActions> 
    <Templates> 
    <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates> 
    </Templates> 
    <CommandDefinitions> 
    <CommandDefinition Id="NXM.account.Form.SearchMerchantInDB.Command"> 
     <EnableRules></EnableRules> 
     <DisplayRules></DisplayRules> 
     <Actions> 
     <JavaScriptFunction Library="$webresources:new_account" FunctionName="CheckIfMember" /> 
     </Actions> 
    </CommandDefinition> 
    </CommandDefinitions> 
    <RuleDefinitions> 
    <TabDisplayRules /> 
    <DisplayRules /> 
    <EnableRules /> 
    </RuleDefinitions> 
    <LocLabels /> 
</RibbonDiffXml> 

Antwort

1

Nach einer harten Arbeit fand ich den Fehler. Wenn Sie Ihre Bibliothek Attribut als

"$ webresources: new_account" set

wann sollte es

"$ WebResource: new_account" sein

werden Sie erleben dieser Fehler. Ich meine, Ihr Code wird ausgeführt, wenn Sie ein "Debugger" -Wort in Ihre Funktion einfügen, fangen die Debug-Tools zwar auf, aber Ihre Seite wird einen Seitenfehler verursachen.

@Philip, @Grigory danke Jungs für Ihre Bemühungen und Antworten.

+0

Sie hat mir nur Stunden der Forschung gerettet !!! – Nathan

0

Try-Debugger auf der Seite läuft dann "Strg + R" für refresh drücken und dann Schaltflächen klicken. Der Debugger sollte in der Zeile anhalten, in der der Fehler auftritt.

+0

Ich habe das mehrmals versucht. Aber da ist noch etwas, denke ich. Weil der Debugger die Fehlerzeile nicht abfängt. Aber geben Syntaxfehler im rechten Fensterbereich. Es gibt Fehler auf edit.aspx Zeile 3 Zeichen 1 –

0

Es hört sich so an, als hätte die Seite eine Ausnahme ausgelöst, bevor Ihr Button-Klick-Event (vielleicht OnLoad) einen benutzerdefinierten Code hat, der auf diesem Formular onLoad läuft? Wenn ja, würde ich mir ansehen, was der Code zuerst tut, um das auszuschließen. Wenn kein anderer Code ausgeführt wird (was durch Deaktivieren aller Ereignisse im Formular bestätigt werden kann), wird die Seite weiterhin als Fehler angezeigt? Wenn dies der Fall ist, validiere, dass die Felder im Formular alle Attribute korrekt definiert haben, wie z. B. Anzeigename usw., da dies manchmal zu einem Formularfehler führen kann.

+0

Hallo Philip, ich bekomme den Seitenfehler in der Statusleiste, nachdem ich auf meine Schaltfläche geklickt habe, aber bevor es seine Funktionalität ausführt. Wie Sie vorgeschlagen haben, habe ich versucht, alle Formularereignisse zu deaktivieren, aber es hat nicht funktioniert. Mein Formular enthält auch json2, jquery und rest operation javascript libraries, die ich von Crm Sdk kopiert habe.Und eine allgemeine Funktionsbibliothek, die ich in meinen früheren Projekten codiert und benutzt habe. Haben Sie ein Beispiel für einen Anzeigenamen, der zu einem Formularfehler führt? –

+0

Wird die Seite korrekt geladen, wenn alle Ereignisse deaktiviert sind und Sie nicht auf die Optionsschaltfläche klicken? z.B. Öffnen Sie das Formular, ändern Sie ein Feld, und speichern Sie das Formular? In Bezug auf die Felder gibt es Felder, die einen leeren Anzeigenamen haben, da dies Probleme auf dem Formular verursachen kann. Es hört sich an, als würde die Schaltfläche nicht die geeignete Methode zum Ausführen finden. Vielleicht könnten Sie die XML-Datei hinter der Schaltfläche und auch die Funktion, die Sie ausführen möchten, auf die Schaltfläche klicken. –

+0

Hallo Philip, ich habe das Skript und XML-Codes zur Frage hinzugefügt. Die Seite wird korrekt geladen, auch wenn ich keine Formularereignisse deaktiviere. Die Schaltfläche findet ihren Code zum Ausführen. Wenn ich einen Debugger auf den Anfang seiner Methode setze und auf die Schaltfläche klicke, fängt IE Developer Tools den Haltepunkt ab, aber vor dieser Zeitseite gibt es einen Fehler in der Statusleiste. Wenn ich dann F5 (in IE-Entwicklertools) drücke, wird die Methode (CheckIfMember) korrekt ausgeführt und das Ergebnis zurückgegeben. Sohn Ich glaube nicht, dass die Methode den Fehler verursacht. –

0

Für die Nachwelt hatte ich das gleiche Problem, aber meine Lösung war etwas anders. Ich bezog mich auf meine benutzerdefinierte Web Resource-Bibliothek wie folgt:

/WebResources/xxx_js_mylibary.js 

wenn Sie den .js Teil nicht haben können.

Stattdessen

/WebResources/xxx_js_mylibary 

Hoffnung, dass die Linie jemand nach unten hilft. Danke an die vorausgegangenen Teilnehmer in diesem Gespräch, die mich in die richtige Richtung gelenkt haben.

Verwandte Themen