在列表的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