C# 更改按钮(如果在列表中)
我试图使两个按钮显示,只有当它是在一个现有的列表。但到目前为止,它还没有成功 我想要一个特定的按钮来显示它是否在愿望列表控制器中声明的列表中:C# 更改按钮(如果在列表中),c#,asp.net-mvc,razor,asp.net-core-mvc,C#,Asp.net Mvc,Razor,Asp.net Core Mvc,我试图使两个按钮显示,只有当它是在一个现有的列表。但到目前为止,它还没有成功 我想要一个特定的按钮来显示它是否在愿望列表控制器中声明的列表中: public ActionResult Index() { IQueryable<WishlistModel> model = null; int wishlist_id = Check(); if (wishlist_id != 0) { var WishLines = _context.W
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();
}
public ActionResult Index()
{
IQueryable模型=null;
int wishlist_id=Check();
如果(愿望列表id!=0)
{
var WishLines=_context.WishLines.Where(l=>l.Wishmain_id==wishlist_id).ToList();
如果(WishLines.Count()>0)
{
model=来自_context.wishlines中的wishlines
在_context.items on wishlines.itm_id等于items.id中加入项目
在_上下文中加入wishmain。WishMains在wishlines上。wishmain_id等于wishmain.id
其中wishlines.Wishmain\u id==wishlist\u id
选择新WishlistModel
{
description=items.description,
价格=项目。价格,
ordline_id=wishlines.id,
photo_url=items.photo_url,
item_id=items.id
};
ViewBag.model_表示_视图=模型;
返回视图(model.ToList());
}
}
ViewBag.model_表示_视图=模型;
返回视图();
}
还有一个按钮,当它不在列表中时显示
我在视图上尝试了这种方式:
@{
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>
}
}
}
@{
WishLines wishLine=新的WishLines();
bool check=wishLine.itm_id==item.id;
if(SignInManager.IsSignedIn(用户))
{
如果(检查==true)
{
从收藏夹列表中删除
}
其他的
{
添加到收藏夹列表
}
}
}
但这将仅显示else
选项,即使它在列表中
如何在视图中显示正确的按钮
WishLines wishLine = new WishLines();
您正在初始化新的WishLines,因此其itm_id永远不会等于item.id
您正在初始化新的wishLine,因此其itm_id将永远不会等于item。idwishLine是新的。因此wishLine.itm_id始终为0
WishLines wishLine = new WishLines(); // wishLine is new
bool check = wishLine.itm_id == item.id; // 0 == item.id returns false
维斯林是新来的。因此wishLine.itm_id始终为0
WishLines wishLine = new WishLines(); // wishLine is new
bool check = wishLine.itm_id == item.id; // 0 == item.id returns false
item.id
来自视图上的模型,@model IEnumerable
和wishLine.itm_id
来自模型wishliness所以您创建了一个空的WishLines对象,并惊讶于itm_id与任何内容都不匹配?我更改了代码,从控制器继承了一个视图包,以继承WishLines itm_id。感谢所有让我看到错误的人!创建空Wishline不是检索id的方法。item.id
来自视图上的模型,@model IEnumerable
和wishLine.itm_id
来自模型wishliness所以您创建了一个空的WishLines对象,并惊讶于itm_id与任何内容都不匹配?我更改了代码,从控制器继承了一个视图包,以继承WishLines itm_id。感谢所有让我看到错误的人!创建空的WishLines不是检索id的方法。