关闭sharepoint对话框后如何刷新父页面?

时间:2011-12-08 05:51:26

标签: c# sharepoint dialog modal-dialog

关闭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>

这是脚本。

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)时,我想刷新父页面。 我该怎么做? 我谷歌并看到 SP.UI.ModalDialog.RefreshPage ,但仍然找不到我的答案。 感谢。

P.S 我对SharePoint知之甚少。

5 个答案:

答案 0 :(得分:26)

您还可以使用内置函数“ RefreshOnDialogClose

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

答案 1 :(得分:25)

你快到了。

在选项dialogReturnValueCallback中,您可以定义一个在对话框关闭后执行的功能。到目前为止,您创建了一个指向CloseCallback3的委托,但这未在您的代码中定义。

如果您在此回调方法中调用SP.UI.ModalDialog.RefreshPage,则在使用确定关闭对话框后,页面会刷新。

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

<强>顺便说一下: 您可以在按钮的javascript:中使用onclick。这不是必需的。只有href代码的a

才需要这样做

答案 2 :(得分:1)

点击按钮尝试使用此代码:     

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

答案 3 :(得分:1)

如果您只想在更改后刷新页面,则可以改为使用以下回调。

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)
        }
    }
}

如果用户点击取消,则无法刷新页面。

答案 4 :(得分:1)

在Closecall back中尝试java-script代码,如下所示。

window.location = window.location;