我正在构建一个 ASP.NET MVC4(.5) Web 应用程序。我经历了很多关于这个问题的话题,尝试了每一个,但问题并没有消失。
我有一个返回 PartialView 的控制器。
[HttpGet]
public ActionResult Subcategories(int id)
{
IOrderedQueryable<Subcategory> subcategories = this.Data.Subcategories
.All()
.Where(sub => sub.Category.Id == id)
.OrderBy(cat => cat.Name);
var request = this.Request.IsAjaxRequest();
IEnumerable<ConciseSubcategoryViewModel> model = Mapper.Map<IEnumerable<ConciseSubcategoryViewModel>>(subcategories);
return this.PartialView("_Subcategories", model);
}
我有这个捆绑包,包含在我的 _Layout 页面的底部。
bundles.Add(new ScriptBundle("~/Content/jquery").Include(
"~/Scripts/jquery-1.10.2.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.unobtrusive-ajax.js",
"~/Scripts/jquery.validate.unobtrusive.js"));
但是,当我在我的一个视图中创建 Ajax.ActionLink 并调用它时,控制器中的变量“request”的值为“false”,请求的原因是 DOCUMENT 而不是 XHR,并在新选项卡中返回部分视图浏览器。
@Ajax.ActionLink(
Model.Name,
"Subcategories",
"Items",
new { Id = Model.Id },
new AjaxOptions() {
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "subcategories-wrapper"
})
感谢您的帮助。我只是看不出有什么问题。