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"));
しかし、ビューの 1 つで Ajax.ActionLink を作成して呼び出すと、コントローラーの変数 "request" の値は "false" になり、リクエストの原因は XHR ではなく DOCUMENT であり、新しいタブで部分ビューを返しますブラウザ。
@Ajax.ActionLink(
Model.Name,
"Subcategories",
"Items",
new { Id = Model.Id },
new AjaxOptions() {
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "subcategories-wrapper"
})
助けてくれてありがとう.私は何も間違っているとは思わない.