1

我想在对话框中显示视图或部分视图。ASP.NET Mvc 4 默认模板 (AjaxLogin.js) 中有一个示例。如果登录是 ajax,AjaxLogin.js 会捕获。并运行 jsonresult 或 actionresult。AjaxLogin 通过将参数传递给对话框来控制它。所以传递参数对我来说很重要。

我将这个库用于我指定的表单是否有问题。还是有关于这个主题的另一个 js 库?

我是 jquery ui 的新手。我现在在我的项目中使用 AjaxLogin.js,用于其他形式。他们工作。我是否应该继续使用。

谢谢。

4

2 回答 2

8

您可以为对话框使用jQuery UI库。就这么简单

1)在页面/布局中添加对 jQuery UI 库的引用(来自CDN /LocalCopy的引用)

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />

2)向链接添加一个特定的类,以便我们可以将其用作 jQuery 选择器

@Html.ActionLink("Email", "Details", "Customers", null, new { @class = "popupLinks" })

3) 将 Diloag 功能绑定到 DOM 就绪事件上的那些链接

<script type="text/javascript">
    $(function(){
        $(".popupLinks").click(function (e) {
            var url = this.href;
            var dialog = $("#dialog");
            if ($("#dialog").length == 0) {
                dialog = $('<div id="dialog" style="display:hidden"></div>').appendTo('body');
            }
            dialog.load(
                url,
                {}, // omit this param object to issue a GET request instead a POST request, otherwise you may provide post parameters within the object
                function (responseText, textStatus, XMLHttpRequest) {
                    dialog.dialog({                       
                        close: function (event, ui) {                            
                            dialog.remove();
                        },
                        modal: true,                            
                         width: 460, resizable: false
                    });
                }
            );           
            return false;           
        });
    });
    </script>

现在点击链接会显示控制器的Detailsaction方法的结果内容。Customers(您可以根据自己的情况进行更改)

于 2012-07-06T15:31:58.107 回答
1

如果您对该功能感到满意并且它适合您,那就去吧。我没有使用 ajaxlogin.js,所以我不能直接评论它,但我使用FancyBox作为我的模态对话框,非常成功地显示部分视图。

于 2012-07-06T15:25:51.113 回答