有没有人遇到过这样的事情?基本上,我在控制器上有一个操作,它仅通过存储库模式查询数据库,将一些数据添加到 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
);
任何人都可以对此有所了解吗?我完全被难住了。