Изменить кнопку, если она есть в списке - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь показать две кнопки, только если они есть в существующем списке.Но пока это не удалось.

Я хочу, чтобы определенная кнопка отображалась, если она находится в этом списке, объявленном в Контроллере пожеланий :

public ActionResult Index()
{
    IQueryable<WishlistModel> model = null;
    int wishlist_id = Check();

    if (wishlist_id != 0)
    {
        var WishLines = _context.WishLines.Where(l => l.Wishmain_id == wishlist_id).ToList();
        if (WishLines.Count() > 0)
        {
            model = from wishlines in _context.WishLines
                    join items in _context.Items on wishlines.itm_id equals items.id
                    join wishmain in _context.WishMains on wishlines.Wishmain_id equals wishmain.id
                    where wishlines.Wishmain_id == wishlist_id
                    select new WishlistModel
                    {
                        description = items.description,
                        price = items.price,
                        ordline_id = wishlines.id,
                        photo_url = items.photo_url,
                        item_id = items.id
                    };
            ViewBag.model_for_view = model;
            return View(model.ToList());
        }
    }
    ViewBag.model_for_view = model;
    return View();
}

И определенная кнопка, которая отображается, когда ее нет всписок

Я попытался сделать это следующим образом:

@{
    WishLines wishLine = new WishLines();
    bool check = wishLine.itm_id == item.id;

    if (SignInManager.IsSignedIn(User))
    {
        if (check == true)
        {
            <a>Remove from favorites list</a>
        }
        else
        {
            <a>Add to favorites list</a>
        }
    }
}

Но это покажет только параметр else, даже если он есть в списке.

Как мне сделать так, чтобы на нем отображалась правильная кнопка?

Ответы [ 2 ]

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

wishLine является новым.Так что wishLine.itm_id всегда равен 0.

WishLines wishLine = new WishLines(); // wishLine is new
bool check = wishLine.itm_id == item.id; // 0 == item.id returns false
0 голосов
/ 30 ноября 2018
WishLines wishLine = new WishLines(); 

Вы инициализируете новые WishLines, поэтому его itm_id никогда не будет равным item.id

...