2016-05-17 4 views

Antwort

0

Es hängt wirklich davon ab, welche Anmeldeinformationen Sie verwenden, um die Daten zu filtern. Dennoch müssen Sie ein Feld in dem Modell hinzufügen, die Sie o die Liste of.For Beispiel abrufen möchten:

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; } 
} 

Beachten Sie die ‚productAddedBy‘ Spalte in der Produkttabelle, wie Sie den Wert des angemeldeten Benutzer zuweisen müssen von entweder id oder Namen, wenn erstellen Sie ein Produkt aus:

BY ID

//Initialise product instance 
Product p = new Product(); 
p.productAddedBy= User.Identity.GetUserId(); 

nach Namen

//Initialise product instance 
Product p = new Product(); 
p.productAddedBy= User.Identity.GetUserName(); 

Nach dem Speichern des Produkts in der Datenbank können Sie eine LINQ-Abfrage ausführen, um die Daten aus DbSet zu filtern und das Ergebnis an eine Ansicht zu übergeben. Natürlich müssen Sie eine Instanz Ihrer db Kontextklasse und der Benutzer in.

List<Product> productList = new List<Product>(); 
productList = 'your_db_context_instance'.Product.Where(x=> x.productAddedBy == User.Identity.GetUserId()); 
return View(productList); 

Die oben genannten Codes alle erhalten, die durch den Benutzer über die ID des angemeldeten Benutzers basierend schöpfender Produkte müssen angemeldet sein, initialisieren. Die letzte Sache ist, die 'ProductList' zu einer stark typisierten Ansicht zu übergeben, und Sie sind gut zu gehen.