Подтвердить что ты не робот

Как обновить родительскую страницу после закрытия диалога sharepoint?

Как обновить родительскую страницу после закрытия диалога sharepoint? Вот мое кодирование, чтобы открыть всплывающее окно.

<input type="button" value="Add" class="button submit" style="width: 80px" onclick="javascript:OpenAttachmentUpload()" />

<script type="text/javascript">

    //User Defined Function to Open Dialog Framework
    function OpenAttachmentUpload() {

        var strPageURL = '<%= ResolveClientUrl("~/Dialogs/AttachUpload.aspx") %>';
        //OpenFixCustomDialog(strPageURL, "Attachment");
        OpenCustomDialog(strPageURL, 350, 200, "Attachment");
        return false;
    }
</script>

здесь находится script.

function OpenCustomDialog(dialogUrl, dialogWidth, dialogHeight, dialogTitle, dialogAllowMaximize, dialogShowClose) {

    var options = {
        url: dialogUrl,
        allowMaximize: dialogAllowMaximize,
        showClose: dialogShowClose,
        width: dialogWidth,
        height: dialogHeight,
        title: dialogTitle,
        dialogReturnValueCallback: Function.createDelegate(null, CloseCallback3)
    };
    SP.UI.ModalDialog.showModalDialog(options);
}

После открытия, когда я закрываю всплывающее окно (~/Dialogs/AttachUpload.aspx), я хочу обновить родительскую страницу. Как мне это сделать? Я google и вижу SP.UI.ModalDialog.RefreshPage, но все равно не могу найти ответ для меня. Спасибо.

P.s Я мало знаю о SharePoint.

4b9b3361

Ответ 1

Ты почти там.

В опции dialogReturnValueCallback вы можете определить функцию, которая будет выполнена после закрытия диалога. К настоящему времени вы создаете делегат, указывающий на CloseCallback3, но это не определено в вашем коде.

Если вы вызываете SP.UI.ModalDialog.RefreshPage в этом методе обратного вызова, страница обновляется после закрытия диалога с помощью OK.

 var options = 
 {
        url: dialogUrl,
        allowMaximize: dialogAllowMaximize,
        showClose: dialogShowClose,
        width: dialogWidth,
        height: dialogHeight,
        title: dialogTitle,
        dialogReturnValueCallback: function(dialogResult) 
        { 
          SP.UI.ModalDialog.RefreshPage(dialogResult) 
        }
 }

Btw: Вы используете javascript: в onclick кнопки. Это необязательно. это требуется только в теге href тега a

Ответ 2

Вы также можете использовать встроенную функцию RefreshOnDialogClose "

 SP.UI.ModalDialog.showModalDialog({
    url: dialogUrl,         
    allowMaximize: dialogAllowMaximize,         
    showClose: dialogShowClose,         
    width: dialogWidth,         
    height: dialogHeight,         
    title: dialogTitle,         
    dialogReturnValueCallback: RefreshOnDialogClose  
}); 

Ответ 3

Попробуйте использовать этот код одним нажатием кнопки:   

<script type="text/javascript">
    function RefreshParent() 
    {
        SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.Ok, null);
    }
</script>

Ответ 4

Если вы хотите обновить страницу только в случае внесения изменений, вы можете использовать следующий обратный вызов.

var options = 
{
    url: dialogUrl,
    allowMaximize: dialogAllowMaximize,
    showClose: dialogShowClose,
    width: dialogWidth,
    height: dialogHeight,
    title: dialogTitle,
    dialogReturnValueCallback: function(dialogResult) 
    {
        if (dialogResult != SP.UI.DialogResult.cancel)
        {
            SP.UI.ModalDialog.RefreshPage(dialogResult)
        }
    }
}

Экономит вас от обновления страницы, если пользователь ударил.

Ответ 5

Попробуйте код java- script, как показано ниже в Closecall.

window.location = window.location;