显示ASP MVC以模态方式查看 - 最佳实践

时间:2011-10-30 08:48:47

标签: jquery asp.net-mvc asp.net-mvc-3 jquery-ui blockui

我有一个带Action方法的控制器,每个方法返回一些应该以模态方式呈现的视图。现在我使用“blockUI”和“IFrame”。但我有些人认为这不是最好的方法。
在asp mvc中以模态方式显示视图的最佳做法是什么? 这是我目前的解决方案:

function showViewModally() {
                $.blockUI({ message: $('<div id="divAI">
    <div><div><span>Modal View</span></div></div>
<iframe id="ifAI" scrolling="no" height="100%" width="100%" src="../Area/Controller/ActionMethod" frameborder="0">
</iframe></div>'),
                    css: { border: "3px solid #3697b3",
                    width: '500px',
                    height: '400px',
                    left: ($(window).width() - 500) / 2 + 'px',
                    top: '10px'
                }
                });
            }

1 个答案:

答案 0 :(得分:1)

  

在asp mvc中以模态方式显示视图的最佳做法是什么?

best 的概念非常主观,我不喜欢它。在Web应用程序中显示模式部分视图的另一种方法是使用jQuery UI dialog。因此,您可以使用AJAX请求而不是使用iframe,并将结果显示在模态对话框中。

例如:

$('<div/>').dialog({
    modal: true,
    open: function () {
        var url = '@Url.Action("ActionMethod", "Controller", new { area = "Area" })';
        $(this).load(url);
    }
});

这是一个live demo