Ошибка привязки модели - передача нулевого значения в действие - PullRequest
0 голосов
/ 12 ноября 2018

С этим кодом мне не удается передать PlayerViewModel с привязкой модели к моему методу действия

 @foreach (var player in Model)
{
<tr>
    <td><img class="mini-avatar" src="@player.AvatarURL" /></td>
    <td>@player.Username</td>
    <td>@player.XP</td>
    <td><button class="btn btn-info btn-lg" type="button" data-toggle="modal" data-target="#myModal">Battle!</button></td>

    <div id="myModal" class="modal fade" role="dialog">
        <div class="modal-dialog">

            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title">Commencing Battle</h4>
                </div>
                <div class="modal-body">
                    <p>Are you sure you want to fight ?</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
                    <a class="btn btn-success" asp-controller="Game" asp-action="Battle" asp-route-data="@player" style="background-color:lightblue">Confirm</a>
                </div>
            </div>

        </div>
    </div>
</tr>

Ниже вы можете увидеть этот фрагмент кода:

<div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
                <a class="btn btn-success" asp-controller="Game" asp-action="Battle" asp-route-data="@player" style="background-color:lightblue">Confirm</a>
            </div>

Проблема в том, что если у меня, например, 10 игроков, foreach будет зацикливаться 10 раз, брать каждого игрока и связывать его в asp-route-data="@player" с его 3 свойствами, а через 10 раз он будет переходить на мою страницу, где когда я выбираю битву и открывается модальный диалог, я выбираю «Подтвердить», и он должен отправить меня сюда asp-controller="Game" asp-action="Battle" Ну, так оно и есть, но переданное значение равно нулю. И кто-нибудь обойти? Я буду очень благодарен! Я использую HttpGet в качестве атрибута этого действия. Это проблема?

...