我正在将一个项目从 SP2007 迁移到 SP2010。我想让一个模式弹出窗口工作,从一个 aspx 页面打开一个列表的新项目窗口。我无法让模态在最基本的示例中工作,我无法弄清楚发生了什么。
如果我使用开发人员工具并启用脚本调试,我会不断收到以下错误:
SCRIPT5022: Sys.ArgumentTypeException: Object of type 'SP.UI.ApplicationPages.CalendarSelector' cannot be converted to type 'Sys.IDisposable'.
这是一个代码片段:
<SharePoint:ScriptLink ID="ScriptLink3" Language="javascript" Name="../ProjectFolder/jquery/jquery-1.7.2.min.js" Defer="false" runat="server" />
<SharePoint:ScriptLink ID="ScriptLink1" Language="javascript" Name="../ProjectFolder/jquery/jquery-ui-1.8.12.custom.min.js" Defer="false" runat="server" />
<SharePoint:ScriptLink ID="ScriptLink4" Language="javascript" Name="../MicrosoftAjax.js" Defer="false" runat="server" />
<SharePoint:ScriptLink ID="ScriptLink5" Language="javascript" Name="../SP.debug.js" Defer="false" runat="server" />
<SharePoint:ScriptLink ID="ScriptLink6" Language="javascript" Name="../SP.UI.Dialog.js" Defer="false" runat="server" />
<script type="text/javascript">
function OpenInDialog(title, url) {
var options = SP.UI.$create_DialogOptions();
options.title = title;
options.width = 680;
options.height = 500;
options.url = url;
options.dialogReturnValueCallback = Function.createDelegate(null, ConfirmationCallback);
SP.UI.ModalDialog.showModalDialog(options);
}
function ConfirmationCallback(dialogResult, returnValue) {
if (dialogResult == SP.UI.DialogResult.OK) {
}
}
OpenInDialog('test', 'http://portal.dev.loc/sites/TestSite/_layouts/Test.aspx');
</script>
我一直认为问题与 SP.UI.Dialog.js 有关,但我的参考是正确的,我不知道为什么它不起作用。这让我发疯了。任何线索我做错了什么?