关闭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知之甚少。
答案 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;