web-dev-qa-db-ja.com

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>

これがスクリプトです。

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と表示しますが、それでも答えが見つかりません。ありがとう。

追記SharePointについてはあまり知りません。

16
kevin

あと少しです。

オプション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:ボタンのonclickjavascript:を使用します。これは必要ありません。これは、hrefタグのaでのみ必要です

26
Stefan

組み込み関数 "RefreshOnDialogClose"を使用することもできます

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

ボタンをクリックしてこのコードを使用してみてください:

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

変更が加えられた場合にのみページを更新したい場合は、代わりに次のコールバックを使用できます。

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

ユーザーがキャンセルをクリックした場合にページを更新しないようにします。

1
Indy411

Closecallバックで以下のJavaスクリプトコードを試してください。

window.location = window.location;

1
Atul