2017-01-27 3 views
0

Ich habe ein benutzerdefiniertes Modul, das eine Schaltfläche enthält. Der Knopfklick führt einen Prozess aus, der manchmal 5-10 Sekunden dauert. Gibt es in Kentico eine Möglichkeit, eine benutzerdefinierte Meldung anzuzeigen, wie z. B. die Meldung "Laden", die Kentico während langwieriger Prozesse anzeigt? Ich würde gerne die gleiche "Loading" -Nachricht anzeigen, die Kentico mit meiner eigenen benutzerdefinierten Nachricht zeigt.So zeigen Sie den Besetztzustand im Kentico Custom Modul an

Antwort

1

Wenn Ihr Modul mit den Standard-Seitenvorlagen und Webparts erstellt wurde, ist dies standardmäßig enthalten. Wenn dies nicht der Fall ist und Sie benutzerdefinierte ASPX-Schablonenseiten verwenden, müssen Sie sicherstellen, dass die Seite ordnungsgemäß übernommen wird, und das Objekt hinzufügen. Möglicherweise möchten Sie auf ein anderes vordefiniertes Modul verweisen, das bereits Code wie die Benutzer verwendet im Modul Mitgliedschaft

+0

Ich bin ziemlich sicher, dass es die out-of-the-Box-Seitenvorlage verwendet. Aber wie könnte ich das sicher wissen? Die partielle Klasse erbt von CMSPage öffentliche Teilklasse CMSModules_CompanyInfo_Pages_General: CMSPage – ihatemash

+0

Ich habe es behoben. Das Problem war, dass ich den Auslöser in der General.aspx-Datei nicht eingerichtet habe. ihatemash

+0

Wenn Sie Ihre Module innerhalb von Kentico erstellen, dann verwendet sie die standardmäßigen, standardmäßigen Portalseitenvorlagen. Wenn Sie sie in Code erstellen, verwenden Sie einen anderen Ansatz. –

0

Ja, aber es hängt davon ab, wie die Dinge eingerichtet sind.

Wenn die Schaltfläche ein Ajax-Panel ausführt (es erfolgt ein Postback über einen Ajax-Aufruf), können Sie den Ajax-Aufruf erfassen und Ihre Lademeldung dort ablegen.

<script type="text/javascript> 
var AjaxHandler = Sys.WebForms.PageRequestManager.getInstance(); 
AjaxHandler.add_beginRequest(beginRequestHandler); 
AjaxHandler.add_endRequest(endRequestHandler); 

function beginRequestHandler(sender, args) { 
// Waiting 
} 

function endRequestHandler(sender, args) { 
// close waiting 
} 
</script> 

Wenn Sie es haben auf der Seite postbacking, können Sie versuchen, einen Haken zu setzen, wenn die Schaltfläche geklickt wird die Warte zu zeigen, wenn die Seite aktualisiert wird dann die Warte natürlich verschwunden sein.

$("#mybutton").click(function() { 
    // Waiting 
}); 
Verwandte Themen