弹出MVC 4局部视图

时间:2014-03-19 09:57:01

标签: jquery asp.net-mvc asp.net-mvc-4

我试图弹出局部视图。但它不起作用,也没有打到控制器方法。 这是我的代码。

脚本: -     

$(document).ready(function () {

    $.ajaxSetup({ cache: false });

    $("#cusCreate").live("click", function (e) {
        e.preventDefault();
        debugger;
        var url = $(this).attr('href');
        $("#dialog-edit").dialog({
            type:"GET",
            title: 'Add Customert',
            autoOpen: false,
            resizable: false,
            height: 355,
            width: 400,
            show: { effect: 'drop', direction: "up" },
            modal: true,
            draggable: true,
            open: function (event, ui) {
                alert(url);
                $(this).load(url);
            },
            close: function (event, ui) {
                $(this).dialog('close');
            }
        });

        $("#dialog-edit").dialog('open');
        return false;
    });
});
</script>

查看:

@Html.ActionLink("Create New", "Create", "Customer", null, new { @id = "cusCreate" })

控制器:

    [HttpGet]
    public ActionResult Create(int? id)
    {
        db.customers = null;

        if (Request.IsAjaxRequest())
        {
            return PartialView("_Create", db.customers);
        }
        else
        {
            return View(db.customers);
        }
       // return View();
    }

部分观点认为这是一个noraml ...

1 个答案:

答案 0 :(得分:0)

您必须包含jQuery不引人注目的Ajax才能让Request.IsAjaxRequest从ajax请求返回true。将http://ajax.aspnetcdn.com/ajax/mvc/5.1/jquery.validate.unobtrusive.min.js添加到您的页面。或者添加NuGet包http://www.nuget.org/packages/Microsoft.jQuery.Unobtrusive.Ajax/