2016-07-05 13 views
1

Ich habe eine Funktion, die beim Laden der Seite ausgeführt wird, die einige Inhalte anzeigt.SharePoint ModalDialog Callback

loadTopSupportArticles();

Auf meiner Sharepoint-Seite habe ich eine Schaltfläche, dass beim Anklicken läuft folgendermaßen aus:

var pageUrl = _spPageContextInfo.siteAbsoluteUrl; 
function addTopArticleItem() { 
SP.UI.ModalDialog.showModalDialog(
    { 
     url: pageUrl + "/Content/Lists/topsupportarticles/NewForm.aspx", 
     width: 500, 
     height: 500, 

    } 
); 
} 

Dies öffnet die neue Dialogposition und ich bin in der Lage ein neues Element hinzuzufügen ...

Wie kann Ich biete einen Rückruf, der dann die Daten auf der Seite neu lädt? Nicht eine vollständige Seite Aktualisierung lädt nur meine Daten ...

Vielen Dank !!!

Antwort

1

Um eine Callback-Funktion bereitzustellen, verwenden Sie die dialogReturnValueCallback-Eigenschaft des Optionsobjekts, das Sie an showModalDialog() übergeben, wie im folgenden Beispielcode.

var pageUrl = _spPageContextInfo.siteAbsoluteUrl; 
function addTopArticleItem() { 
    SP.UI.ModalDialog.showModalDialog(
    { 
     url: pageUrl + "/Content/Lists/topsupportarticles/NewForm.aspx", 
     width: 500, 
     height: 500, 
     dialogReturnValueCallback: myCallbackFunction 
    }); 
} 

// The callback function expects a parameter of type SP.UI.DialogResult 
function myCallbackFunction(result){ 
    switch(result){ 
     case SP.UI.DialogResult.OK: 
      alert("You clicked OK"); 
      // reload data as necessary here 
      break; 
     case SP.UI.DialogResult.cancel: 
      alert("You clicked cancel or close."); 
      break; 
    } 
}