С клиентской стороны вы используете вызов ajax с параметром о выбранной категории в вашем первом частичный вид. Затем на стороне сервера вызов возвращает второй частичный вид, визуализированный с помощью правильной базы продуктов, по параметру категории, который был отправлен.
Пример Ajax вызова (с JQuery):
function GetProducts(categoryID) {
$.ajax({
url: '/Controller/GetProducts',
type: 'POST',
data: JSON.stringify({ categoryID: categoryID }),
dataType: 'html',
contentType: 'application/json',
success: function (data) { OnGetProductsPartialViewCallback(data); },
error: function (jqXHR, textStatus, errorThrown) { OnGetProductsPartialViewError(jqXHR, textStatus, errorThrown); }
});
}
function OnGetProductsPartialViewCallback(data) {
$('#div-products').html(data);
...
}
function OnGetProductsPartialViewError(jqXHR, textStatus, errorThrown) {
...
}
стороне сервера Код:
[HttpPost]
public PartialViewResult GetProducts(int categoryID)
{
try
{
var products = // get products
return PartialView("Products", new ProductsViewModel(products));
}
catch (Exception ex)
{
throw new Exception("Products could not be loaded.", ex);
}
}
Надежда это указывает вам в правильном направлении;)