誰かが以前にこのようなものに出くわしたことがありますか?基本的に、リポジトリパターンを介してデータベースにクエリを実行し、ViewDataにデータを追加してから、ビューを返すコントローラーに対するアクションがあります。しかし、何らかの理由で、このアクションはリクエストごとに4回呼び出されています。
アクション全体の長さはわずか約10行です。
public ActionResult Details(int id, string slug) {
Product p = productRepository.GetProduct(id);
IEnumerable<Image> imgs = productRepository.GetImages(p.ProductId);
if (imgs.Count() > 0) {
ViewData["MainImage"] = imgs.First();
ViewData["Images"] = imgs;
}
Brand brand = productRepository.GetBrand(p.ProductId);
ViewData["Brand"] = brand;
var categories = productRepository.GetCategories(p.ProductId, true);
ViewData["ProductCategories"] = categories;
return View("Details", p);
}
また、私のGlobal.asaxで定義されているルートは次のとおりです。
routes.MapRoute(
"SlugsAfterId",
"{controller}.mvc/{action}/{id}/{slug}",
new { controller = "Products", action = "Browse", id = "" }
);
// The default route that comes with ASP.NET MVC
routes.MapRoute(
"Default", // Route name
"{controller}.mvc/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
誰かがこれに光を当てることができますか?私は完全に困惑しています。