您将会感谢您分享您的经验,了解如何根据已记录的用户显示正在过滤的数据列表视图。 问候 Arun Sahani,加德满都
答案 0 :(得分:0)
这实际上取决于您用来过滤数据的凭据。但是,您需要在模型中添加要检索列表的字段。例如:
public class Product
{
[Key]
[Required]
[Display(Name = "Product ID")]
public int productID { get; set; }
[Required]
[Display(Name = "Product Name")]
public string productName { get; set; }
[Required]
[Display(Name = "Product Price(RM)")]
public double productPrice { get; set; }
[Required]
public string productAddedBy{ get; set; }
}
注意" productAddedBy' Product表中的列,因为您需要在创建产品时分配id或name的已登录用户的值:
BY ID
//Initialise product instance
Product p = new Product();
p.productAddedBy= User.Identity.GetUserId();
BY姓名
//Initialise product instance
Product p = new Product();
p.productAddedBy= User.Identity.GetUserName();
将产品保存到数据库后,您可以执行LINQ查询以从DbSet过滤数据并将结果传递给视图。当然,您需要初始化db上下文类的实例,并且用户必须登录。
List<Product> productList = new List<Product>();
productList = 'your_db_context_instance'.Product.Where(x=> x.productAddedBy == User.Identity.GetUserId());
return View(productList);
以上代码将根据已登录用户的ID获取用户添加的所有产品。最后一件事是通过产品列表&#39;对于一个强烈的类型视图,你很高兴。