2016-04-12 3 views
1

SO habe ich ein Unternehmen namens Produkt wie folgt:Wie implementiert man Daten in asp.net mvc?

public class Product 
    { 
     [HiddenInput(DisplayValue=false)] 
     public int ProductID { get; set; } 
     public string ProductName { get; set; } 
     [DataType(DataType.MultilineText)] 
     public string ProductDescription { get; set; } 
     public decimal ProductPrice { get; set; } 
     public string Category { get; set; } 
     public string SubCategory { get; set; } 
    } 

Ich habe eine andere Klasse EFProductRepository genannt, die von einer anderen Klasse IProductRepository wie folgt genannt abgeleitet:

public class EFProductRepository : IProductRepository 
    { 
     private EFDbContext context = new EFDbContext(); 
     public IEnumerable<Product> Products 
     { 
      get { return context.Products; } 
     } 
    } 

Da ist in meinem Controller-Aktion Index i habe dies:

public ViewResult Index() 
     { 
      return View(repository.Products); 
     } 

und eine Ansicht für den Index, die die da auflisten ta in einer Tabelle, so ist die Frage, wie kann ich die DataTable-Client-Seite zu diesem Stück Code implementieren? Ich habe dies hier versucht jQuery Datatable with MVC 5 and Entity Framework aber leider kein Glück. Jede Hilfe wird geschätzt, Grüße.

+1

Ich nehme an, das Datatable-Plugin erwartet Daten im JSON-Format. Konvertiere deine context.Products in das JSON-Format (möglicherweise nach dem Zuordnen zu einer Liste von View-Modellen, die Eigenschaften haben, nach denen das Plugin sucht) – Shyju

+0

@Shyju irgendein Hinweis, wie man es in JSON umwandelt? –

+0

gibt es eine 'Controller.Json'-Methode, die Sie verwenden können. – Shyju

Antwort

1

Wenn Sie nicht möchten, dass Ihr Objekt in JSON konvertiert wird und mit der ganzen Controller-Anpassung Probleme verursacht, würde ich vorschlagen, diese Datentabelle auszuprobieren, die ich in meinen MVC 5-Projekten verwende. https://gridmvc.codeplex.com/ Dies wird Ihnen eine Menge Funktionalität geben, die Sie sowieso am Frontend haben wollen, und es bindet nur direkt an eine Liste von Objekten.

In der Dokumentation finden Sie einfache Einstiegsleitfäden.

Viel Glück

+1

Sieht aus wie eine gute Alternative, ich kann das nicht als Antwort akzeptieren, aber ich habe es gewählt. Ich muss wirklich DataTables bekommen;) –