2015-09-04 1 views
0

У меня есть два частичных вида, один из которых - это список избранных объектов, а другой - все продукты из выбранных категорий, а также список избранных элементов.Обновление частичного представления с другого частичного вида

Я хочу обновить второй частичный вид на выбранную категорию или нажать кнопку. Я не могу найти такой пример, поэтому, если у кого-нибудь есть идеи, как это сделать, было бы замечательно

ответ

1

С клиентской стороны вы используете вызов 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); 
    } 
} 

Надежда это указывает вам в правильном направлении;)