我试图弹出局部视图。但它不起作用,也没有打到控制器方法。 这是我的代码。
脚本: -
$(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 ...
答案 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/