在列表的AllItems页面上,我在显示列表的webpart上方添加了内容编辑器WebPart。这个webpart只包含一个HTML按钮。当用户点击按钮时,列表中的所有项目都将被多个JavaScript/jQuery/AJAX函数处理。但是该列表包含1000多个项目,并且不会让用户知道代码正在处理项目。未在SharePoint 2007中居中的jQuery模式对话框
首先,出于开发目的,我在方法之间使用警报来显示某种交互性并向用户提供信息。但是现在我正在使用jQuery模态对话框以一种很好的方式向用户显示代码正在处理项目。
显示对话框,但它不在屏幕上居中显示,标题栏未显示在对话框的整个宽度上,并且透明灰色叠加层不可见。我在一个空的ASP.NET Web应用程序中测试了完全相同的代码,在这种情况下,一切正常。
我使用jQuery 1.8.2和jQuery UI 1.10.1。反正这是我有:
function showProcessDialog() {
showDialog("Please wait while processing all items...", null);
}
function showDialog(message, dialogButtons) {
$("#messageContainer").text(message);
$('#dialog-message').parent().appendTo($('form:first'));
$("#dialog-message").dialog({
draggable: false,
height: "auto",
modal: true,
open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); },
position: { my: "center", at: "center", of: window },
resizable: false,
width: 400,
buttons: dialogButtons
});
}
注意这一行:
$('#dialog-message').parent().appendTo($('form:first'));
我读到,当一个页面在SharePoint 2007中加载,jQuery的操纵DOM和,这将作为行动的DIV元素对话框放置在身体的外部。这样做的最大问题是对话框中没有服务器端控件会继续工作,并且此行将div放回到窗体中。我离开那里,因为你永远不知道...
这是导致ASP.NET Web应用程序:
而且这是在SharePoint 2007中相同的代码:
有谁知道我该如何解决这个问题,以便结果与工作相同?提前致谢!
问题是我无法使用较低版本的jQuery/UI。还有其他代码片断取决于我使用的版本... – Abbas 2013-03-05 09:25:03