Загрузить еще Кнопка Umbraco, Razor funcionality - PullRequest
1 голос
/ 30 апреля 2019

я новичок в umbraco и c #, я сделал список блогов в umbraco razor, но как я могу сделать функцию загрузки больше кнопки?

я хочу, когда пользователь нажимает кнопку загружать больше 5 элементов в список,Одним из способов является то, что пользователи нажимают кнопку обновить запрос, но мне нужно обновить страницу.

Любая справка была бы полезна, поскольку я застрял на ней и не имею понятия, как это сделать в umbraco..

@{
    var selection = Model.Content.Children().Where(x => x.IsVisible()).Take(5).ToList();
}



   <div class="container-fluid" style="padding-left: 117px;">

   <div class="row" style="margin-top: 5em;">

   <div class="col-lg-9 col-md-9 col-sm-9">

    <!-- BLOG START -->

        @while(selection.Any()){

                    var oneItem = selection.First();
                    selection.Remove(oneItem);


                <div class="row">

                   <div class="col-md-4 col-sm-12" onclick="location.href='@oneItem.Url'" style="cursor:pointer">
                        <div class="card">

                            <img src="@Umbraco.TypedMedia(oneItem.GetPropertyValue<int>("imagemPublicacaoBlog")).Url" style="height: 15em;">
                         </div>
                    </div> 

                    <div class="col-md-6 col-sm-12"  onclick="location.href='@oneItem.Url'" style="cursor:pointer">
                        <span class="card-text qs-blog-direcao">@oneItem.GetPropertyValue("tipoDeDirecao")</span><br><br>


                            <span class="qs-blog-date-1page" id="qs-datetime">@(oneItem.GetPropertyValue<DateTime>("dataDePublicacaoBlog").ToString("dd MMMM yyyy",new CultureInfo("pt-PT")))</span>

                        <br>
                        <span class="qs-blog-publicado-por">@oneItem.GetPropertyValue("publicadoPorBlog") - OPINIÃO </span>
                        <span class="qs-blog-titulo-1page">@oneItem.GetPropertyValue("tituloBlog")</span>
                    </div>   

                    <div class="col-md-12 col-sm-12  onclick="location.href='@oneItem.Url'" style="cursor:pointer"" style="margin-top:2em;">
                        <span class="qs-blog-resumo d-flex justify-content-start">@oneItem.GetPropertyValue("resumoBlog")</span>
                        <span class="d-flex justify-content-end"><a><img src=" /media/1027/icon_inf_verde.png"></a></span>
                    </div>  

                </div>


                var twoItems = selection.Take(2).ToList();

                if(twoItems.Any()){

                <div class="row">

                    @foreach (var item in twoItems){
                    selection.Remove(item);

                    <div class="col-md-6 col-sm-12" onclick="location.href='@item.Url'" style="cursor:pointer">
                        <span class="card-text qs-blog-direcao-double">@item.GetPropertyValue("tipoDeDirecao")</span><br>
                        <img src="@Umbraco.TypedMedia(item.GetPropertyValue<int>("imagemPublicacaoBlog")).Url" style="height: 10em;margin-top: 2em;">

                        <div class="qs-blog-sideByside">
                        <span class="qs-blog-date-1page-double" id="qs-datetime">@(item.GetPropertyValue<DateTime>("dataDePublicacaoBlog").ToString("dd MMMM yyyy",new CultureInfo("pt-PT")))</span><br>
                        <span class="qs-blog-publicado-por-double"> @item.GetPropertyValue("publicadoPorBlog") - OPINIÃO </span>
                        </div>

                        <div class="qs-blog-titulo-1page-double">@item.GetPropertyValue("tituloBlog")</div>
                        <div class="qs-blog-resumo-blog d-flex justify-content-start">@item.GetPropertyValue("resumoBlog")</div>
                        <span class="d-flex justify-content-end"><a><img src=" /media/1027/icon_inf_verde.png"></a></span>
                    </div>
                }
            </div>

            <br>
        }
}



   <!-- BLOG END -->
</div> 

1 Ответ

1 голос
/ 30 апреля 2019

Это может быть что-то вроде этого:

@{
    int page = int.TryParse(Request["page"], out page) ? page : 0;
    int pageSize = 5;

    var selection = Model.Content
        .Children()
        .Where(x => x.IsVisible())
        .Skip(page * pageSize)
        .Take(pageSize)
        .ToList();
}

<div class="container-fluid">
    ...
</div>

<a href="@Request.RawUrl.Split('?')[0]?page=@(page + 1)">
    Load next @pageSize results
</a>
...