Альтернативным подходом было бы использование Restful Urls для вызова соответствующего действия контроллера и представления.
Это заставляет URL отражать то, что вы видите на экране, и делает дизайн более расширяемым; Если вам нужно добавить другие представления данных в будущем (сводные, последние и т. д.), вы добавите новое представление, нет необходимости в партиалах, если основная часть представления не станет более сложной и не будет преобразована в частичное представление ,
URL будут выглядеть так:
~/product/1/detail
~/product/1/thumbnail
и соответствуют методам ProductController:
public ActionResult Detail(String id)
{
var products = productRepository.GetProducts(id).ToList();
return View("Detail", products);
}
public ActionResult Thumbnail(string id)
{
var products = productRepository.GetProducts(id).ToList();
return View("Thumbnail", products);
}
Вы включаете маршрутизацию с помощью маршрута, подобного:
{controller}/{id}/{action}