JSOM的SharePoint 2010模式对话框无法正常工作

时间:2011-11-22 21:27:50

标签: sharepoint-2010 showmodaldialog

这个想法很简单:在SP Designer 2010中创建一个Web部件页面,允许创建一个新的列表项,然后使用CSOM中的一些javascript在另一个页面的模式对话框中弹出页面。问题是出现了一个对话框并且短暂闪烁它正在加载内容,但随后它就消失了,我留下了我刚刚点击的页面的刷新版本。这是我的代码。 。

//attach a click delegate to the table containing the following button(s)
<button type='button' class='ms-listheaderlabel'>Close</button>

//on button clicked event, call the following function
function openModalDialog(dialogPage, closeCallback) {
  var options = [];
  options.title = unescape("Close Ticket");
  options.allowMaximize = true;
  options.showClose = true;
  options.autoSize = true;
  options.url = dialogPage;
  options.dialogReturnValueCallback = Function.createDelegate(null, closeCallback);
  SP.UI.ModalDialog.showModalDialog(options);
};

。 。 。其中dialogPage是我创建的表单的URL(相同的站点,SitePages库),closeCallback是传入的匿名函数,用于处理对话框的返回值。我试过直接调用页面,它加载得很好。弹出窗口拦截器完全关闭。使用IE9并尝试了8兼容模式以及另一台直接IE8的机器。系统模态工作得很好。那里有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我现在正在经历完全相同的问题。到目前为止我发现的是如果我使用

<input type="button" value="Try Me" onclick="openModalDialogBox()" />

它按预期工作。但是,如果我使用asp:按钮来做同样的事情就会失败。我认为它可能与回发到服务器有关,但我可能错了。

我只是将按钮切换为输入。

蒂姆