将位置设置为居中后,jquery ui对话框未显示在窗口中心

时间:2013-09-05 12:54:15

标签: asp.net-mvc jquery-ui jquery-ui-dialog

我是jquery ui对话框的新手。我在MVC网站上使用了对话框。

我将对话框容器放在body标签内的布局页面中,如下所示 -

 <div id="dialogBox"></div>

然后在我的视图页面上,我有一个id为 aMyProfile 的按钮,并编写了用于打开对话框的jquery代码。

aMyProfile的HTML代码 -

<input type="button" id="aMyProfile" data-url="@Url.Action("UserProfileContainer","User")" value="View Profile"/>

aMyProfile的Jquery代码 -

$('#aMyProfile').click(function () {
            var currentURL = $(this).attr('data-url');
            $('#dialogBox').load(currentURL, function () {
                $('#dialogBox').dialog("open");
            });
        });

和对话框初始化为 -

$('#dialogBox').dialog({
        bgiframe: true,
        modal: true,
        autoOpen: false,
        closeOnEscape: false,
        position: 'center',
        resizable: false,
        title: 'Profile',
        width: 750
    });

以上所有jquery代码都在 $(document).ready(function(){})内;

当我执行我的项目时,它给我的输出为 - enter image description here

我的对话框没有出现在窗口的中心。即使我把位置放在中心位置。

我不明白我哪里出错了。

2 个答案:

答案 0 :(得分:0)

您指定的位置值错误。它应该是这样的:

position: { my: "center", at: "center", of: window }

在任何情况下,position的默认值都是居中对齐的,所以只需将其删除即可。

http://api.jqueryui.com/dialog/#option-position

答案 1 :(得分:0)

我刚才遇到了同样的问题。要检查的事项:

确保您的应用程序中有/Scripts/jquery.ui.position.js,如果没有,请

http://jqueryui.com/download/并下载它,你会在

中找到它

\ jquery的-UI-1.10.4.custom \ jquery的-UI-1.10.4.custom \发展束\ UI \ jquery.ui.position.js

App_Start / BundleConfig.cs中的

从此更改你的jqueryui bundle配置:

bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                    "~/Scripts/jquery-ui-{version}.js"                     
                    ));

到此:

bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                    "~/Scripts/jquery-ui-{version}.js",
                    "~/Scripts/jquery.ui.position.js"
                    ));

应该对它进行排序。