0

我是 MVC 框架的新手,我需要您的支持才能成功。我有一个局部视图,我需要在加载视图时在弹出窗口中显示该局部视图。请为此建议我一个最佳解决方案。提前致谢。

4

2 回答 2

2

你可以使用jQuery leanModal插件来做到这一点。例如,您可以将部分视图放在div如下标签中:

<div id="modal">
    @Html.Partial("_Polling",Model)
</div>

JS:

$(function(){
    $('#modal').leanModal({ top: 70, closeButton: ".modal_close, .btnClose" });
});
于 2013-06-21T08:24:08.770 回答
0

如果您使用的是 jQuery UI 对话框,您可以执行以下操作。示例代码将有两个 ActionResult 方法。一个用于登陆页面,第二个用于弹出视图。

public class HomeController : Controller
{
   public ActionResult Index()
   {

        return View();
   }

   public ActionResult PoupUp()
   {

        return View();
   }
}

索引视图

<script type="text/javascript" src="jquery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css">

<script>
$(function () {
var iframe = $('<iframe frameborder="0" marginwidth="0" marginheight="0"        allowfullscreen></iframe>');
var dialog = $("<div></div>").append(iframe).appendTo("body").dialog({
    autoOpen: false,
    modal: true,
    resizable: false,
    width: "auto",
    height: "auto",
    close: function () {
        iframe.attr("src", "");
    },
    buttons: {
        "Close": function () {
            $(this).dialog("close");
        }
    }            
});
$(".dialog").on("click", function (e) {
    e.preventDefault();
    var src = $(this).attr("href");
    var title = $(this).attr("data-title");
    var width = $(this).attr("data-width");
    var height = $(this).attr("data-height");
    iframe.attr({
        width: +width,
        height: +height,
        src: src
    });
     dialog.dialog("option", "title", title).dialog("open");
    });
  });
  </script>

<a target="_blank" href="PopUp.cshtml" class="dialog" data-title="Page Titl" data-width="550" data-height="410">Click here</a>

弹出窗口.cshtml

@{
   Layout = null;
 }

 Popup window. 
于 2013-06-21T08:26:14.790 回答