2017-02-06 1 views
2

Надеюсь, это прямолинейно! У меня есть частичный, который загружается просто отлично, он использует ajax для применения фильтров/сортировки, которые отлично работают. Однако ссылки с разбивкой по страницам отправляют правильный URL-адрес, и ответ является желаемой страницей, только он фактически не обновляет/не заменяет что-то там. Родитель Вид:Pagnation не обновляет цель - Asp.Net Core с использованием Ajax

@model Sakura.AspNetCore.IPagedList<YaCu_2017.Models.Review> 
@{ 
ViewBag.Title = "Review Dashboard"; 
@using YaCu_2017.Controllers; 

} 
<p class="green-text">@ViewBag.StatusMessage</p> 
<p class="red-text">@ViewBag.ErrorMessage</p> 

<h2>Our Product Reviews</h2> 
<div class="row"> 
<div class="col s2"> 

    <h5>Filter by Product:</h5> 

    <form method="get"> 
     @{ 
      var product = ReviewController.GetProductListIncId(); 
      var productCount = ReviewController.GetProductCountList(); 
      ViewBag.ProductList = product; 
      ViewBag.ProductCount = productCount; 
     } 
     <select asp-items="@ViewBag.ProductList" id="searchProduct" 
class="dropdown-button btn"></select> 
     <h5>Reviews per page</h5> 
     <select asp-items="@ViewBag.ProductCount" id="perPage" 
class="dropdown-button btn"></select> 

    </form> 

</div> 
</div> 


<p></p> 
<div class="reviewView" id="filter"> 
    @await Html.PartialAsync("ShowReviewDetails", Model) 
</div> 

Ребенок Вид:

@model IPagedList<YaCu_2017.Models.Review> 
@using System.Globalization 
@using Sakura.AspNetCore 

@using YaCu_2017.Controllers 
@using YaCu_2017.Models 
@{ 
ViewData["Title"] = "Digital Jeeves - Reviews"; 


} 
<form method="post" data-ajax="true"> 
<div class="row"> 
    <div id="pagerow" class="col s12 center center-align center-block"> 
     <p>Page @(Model.TotalPage < Model.PageIndex ? 1 : 
Model.PageIndex) of @Model.TotalPage<pager id="pager" class="pagination" 
setting-link-attr-data-ajax-update="filter" setting-link-attr-data-ajax- 
mode="replace" setting-link-attr-data-ajax="true" /></></p> 
     <cs-pager cs-paging-pagesize="@Model.PageSize" 
        cs-paging-pagenumber="@Model.PageIndex" 
        cs-paging-totalitems="@Model.TotalPage" 
        cs-pagenumber-param="page"      
        asp-route-perPage="@ViewData["Page"]" 
        asp-route-searchProduct="@ViewData["Product"]" 
        asp-controller="Review" 
        asp-action="GetProducts" 
        cs-ajax-target="filter"></cs-pager> 
    </div> 
</div> 
</form> 
<hr /> 
<div id="stuff"> 
@foreach (var item in Model) 
{ 
    var stars = item.Stars.ToString(); 
    var starurl = string.Format("images/stars/{0}_star.jpg", stars); 
    <div class="container opaque-parent z-depth-5"> 
     <div class="row"> 
      <div class="col s6"><h6 style="border-bottom:thin">Title : 
@Html.DisplayFor(model => item.Title)</h6></div> 
      <div class="col s3"><h6 style="border-bottom:thin">Product : 
@Html.DisplayFor(model => item.Product)</h6></div> 
      <div class="col s3"><h6 style="border-bottom:thin">Rated: 
<img src="~/@starurl" class="responsive-img" id="@item.Id" /></h6></div> 
     </div> 

     <div class="row" style=""> 
      <div class="col s12" style="border-bottom:inset"> 
       <h6>Comment:</h6> 
      </div> 
     </div> 
     <div class="row" style="border-bottom:inset"> 
      <div class="col s6 offset-s3"> 
       <p class="flow-text">"@Html.DisplayFor(model => 
item.ReviewText)"</p> 
      </div> 
     </div> 
     <div class="row"> 
      <div class="col s3"> 
       <p>Date Created : @Html.DisplayFor(modelItem => 
item.CreatedDate)</p> 
      </div> 
      <div class="col s3"> 
       <p>Chosen Display Name: @Html.DisplayFor(modelItem =>  
item.DisplayName)</p> 
      </div> 
     </div> 
    </div> 
    <hr /> 
} 
</div> 

Я думал, что это может быть потому, что его ребенок пытается обновить родитель, но я не могу найти любую информацию. Я попытался поставить разбивку на страницы за пределами целевого div, все, что произошло, это то, что страницы не обновлялись, когда были страницы> 1.

Я новичок в этом, только сделав сайты без аякса, до сих пор! Я понял фильтр/сортировку, но я продолжаю ходить по кругу здесь, я даже попробовал другой пакет nuget для разбивки на страницы Link to git, до сих пор не радует! Как я уже сказал, следующая страница находится в ответе, но она не заменяет то, что там есть.

Спасибо :)

ответ

0

Фигурные это ... в данных-АЯКС-обновления = «Фильтр» мне нужно добавить хэштегом линии всасывания элемента идентификатора, например, data-ajax-update = "# filter" ... facepalm

Смежные вопросы