how can i sort a wordpress folder using a repository pattern?

You just need one ObjectList action like below:

public IActionResult ObjectList(string sortOrder)
{
    ViewData["NameSortParm"] = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
    var objects = from s in _objectRepository.GetAllObjects()
                    select s;
    switch (sortOrder)
    {
        case "name_desc":
            objects = objects.OrderByDescending(s => s.Name);
            break;
        default:
            objects = objects.OrderBy(s => s.Name);
            break;
    }
    return View(objects);
}

View:

@model IEnumerable<MyObject>
@{
    ViewData["Title"] = "ObjectList";
}

<h1>ObjectList</h1>

<table>
    <thead>
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.ObjectId)
            </th>
            <th>
                <a asp-action="ObjectList" asp-route-sortOrder="@ViewData["NameSortParm"]">@Html.DisplayNameFor(model => model.Name)</a>
            </th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
        <tr>
            <td>
                @Html.DisplayFor(m => item.ObjectId)
            </td>
            <td>
                @Html.DisplayFor(m => item.Name)
            </td>
        </tr>
        }

    </tbody>
</table>

Result:

enter image description here

CLICK HERE to find out more related problems solutions.

Leave a Comment

Your email address will not be published.

Scroll to Top