Загружать другую ссылку после того, как одна нажата в операторе else - PullRequest
0 голосов
/ 30 ноября 2018

В настоящее время у меня есть эти ссылки, но я хочу, чтобы они загружались в представление при каждом нажатии другой.Поэтому, если щелкнуть мышью один из операторов if, я хочу, чтобы другой в операторе else отображался в представлении.И наоборот.Как мне сделать это с моими ссылками?Клики создаются с помощью запроса AJAX.

@{
    if (SignInManager.IsSignedIn(User))
    {
        if (ViewBag.Wishlist.Contains(item.id))
        {
            <a onclick="RemoveFromWishList(@ViewBag.OrderLine)" id="remove" class="btn btn-default swap swapHeart">
                <span style="color:#8F6B93;" class="glyphicon glyphicon-heart"></span>
            </a>
        }
        else
        {
            <a onclick="AddToWishList(@item.id)" id="add" class="btn btn-default swap swapHeart">
                <span style="color:#8F6B93;" class="glyphicon glyphicon-heart-empty"></span>
            </a>
        }
    }
}

1 Ответ

0 голосов
/ 30 ноября 2018

Вместо использования серверного кода используйте клиент.Ниже серверная переменная списка пожеланий инициализирует атрибут style без стиля или стиля «display: none», чтобы скрыть правую ссылку в зависимости от того, находится элемент в списке пожеланий или нет.

//This is server-side
bool wishlist = ViewBag.Wishlist.Contains(item.id);

<!-- Client side only but use server-side definitions inside to initialize -->
<a onclick="RemoveFromWishList(@ViewBag.OrderLine)" id="remove" class="btn btn-default swap swapHeart"
  style="@(wishlist ? "" : "display:none")">
    <span style="color:#8F6B93;" class="glyphicon glyphicon-heart"></span>
</a>
<a onclick="AddToWishList(@item.id)" id="add" class="btn btn-default swap swapHeart"
  style="@(wishlist ? "display:none" : "")">
   <span style="color:#8F6B93;" class="glyphicon glyphicon-heart-empty"></span>
</a>

Затемщелкните, вы можете использовать JS, чтобы поменять другой:

$("a.swapHeart").on("click", function(e) {
  $(this).toggle();
  $(this).siblings("a.swapHeart").toggle();
});

Пока ссылки являются настоящими братьями и сестрами, это должно работать.

...