В списке данных MVC, как лучше переключать условия в запросе SQL - PullRequest
0 голосов
/ 03 марта 2020

Пожалуйста, извините, я новичок в MVC и Entity Framework, но не смог найти информацию для решения моей проблемы.

Проблема 1 в том, что я пытаюсь добавить оператор where в мою модель и показать только активные игроки. Вы можете видеть мои две отдельные процедуры в моем контроллере, но они обе дают одинаковые результаты.

   public IActionResult ActivePlayers()
   {
        var model = _playerRepository.GetAllPlayers();
        return View("Players",model.Where(d => d.IsActive = true));
   }
   public IActionResult AllPlayers()
   {
        var model = _playerRepository.GetAllPlayers();            
        return View("Players", model);
   }

Моя вторая проблема - мне трудно понять, как переключаться между всеми игроками и активными из Посмотреть. Я попробовал следующее, но быстро понял, что это не сработает, поскольку страница перерисовывается после вызова контроллера. - Обратите внимание, я использовал jQuery для переключения жизнеспособности.

<div>
    <label id="lblShowAll" style="color:green;font-style:italic;font-weight:bold;"
           >Showing Active Players</label>
    <label id="lblLimitList" style="color:green;font-style:italic;font-weight:bold;display:none;"
           >Showing All Players</label>
    <br />
    <a id="ShowAll" class="btn btn-link"
       asp-controller="admin" asp-action="allPlayers">Show All Players</a>
    <a id="LimitList" class="btn btn-link" style="display:none;"
       asp-controller="admin" asp-action="activePlayers">Limit List (Active Players)</a>
</div>

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

<div class="container" id="players">
    <br />
    <div style="width:90%; margin:0 auto;">
        <table id="playerList" class="table table-striped table-bordered dt-responsive nowrap"
               width="100%" cellspacing="0">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Address</th>
                    <th>City</th>
                    <th>State</th>
                    <th>Telephone</th>
                    <th>Edit</th>
                    <th>Delete</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var player in Model)
                {
                    <tr>
                        <th>@player.Name</th>
                        <th>@player.Address</th>
                        <th>@player.City</th>
                        <th>@player.State</th>
                        <th>@player.Telephone</th>
                        <th>
                            <a class="btn btn-outline-info m-1"
                                asp-controller="admin" asp-action="editPlayer" asp-route-id="@player.PlayerId">
                               Edit</a>
                        </th>
                        <th>
                            <a class="btn btn-outline-danger m-1">Delete</a>
                        </th>
                    </tr>
                }
            </tbody>
        </table>
    </div>
</div>

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...