Hey, je suis nouveau à asp et je voudrais vous demander de l'aide. J'ai construit un magasin avec l'aide du tutoriel MvcMusicStore. Maintenant, je veux ajouter une vue pour gérer les commandes qui affichera juste OrderID (en vue Index), puis plus d'infos dans la vue Détails. Infos viendra de la table qui ressemble à ceci:MVC, afficher afficher les données
Lorsque je liste OrderID, la multiplication parce que chaque produit crée nouveau record avec le même OrderID dans le tableau. Est-il possible d'afficher chaque ID une seule fois?
Puis j'ai essayé d'afficher plus d'informations dans Detaild View mais j'ai échoué à nouveau. J'ai utilisé ce code dans le contrôleur:
public ActionResult Details(int id)
{
var orderdetail = storeDB.OrderDetails.Single(a => a.Order.OrderId == id);
return View(orderdetail);
}
mais évidemment cela ne fonctionnera pas car un seul élément peut être affiché. J'ai également essayé avec la boucle de foreach dans Details.aspx mais j'obtenais une erreur liée à IEnumerables. Tout conseil est le bienvenu, désolé pour la question de débutant et mauvais anglais. Je vous remercie.
Edit: Voici le code de contrôleur pour Voir Index (produit dans ma table est égal album tutoriel):
public ActionResult Index()
{
var manageorders = storeDB.OrderDetails
.Include("Product").Include("Order")
.ToList();
return View(manageorders);
}
Voir les détails et le code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/MasterPage.Master" Inherits="System.Web.Mvc.ViewPage<ss.Models.OrderDetail>" %>
Index
<div id="style3">manage orders</div>
<div id="style1">
<table>
<tr>
<th></th>
<th>
user
</th>
<th>
data
</th>
<th>
product
</th>
<th>
quantity
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td>
<%: Html.ActionLink("Edit", "Edit", new { id=item.Order.OrderId }) %> |
<%: Html.ActionLink("Details", "Delete", new { id=item.Order.OrderId })%>
</td>
<td>
<%: item.Order.Username %>
</td>
<td>
<%: item.Order.OrderDate %>
</td>
<td>
<%: item.Quantity %>
</td>
<td>
<%: item.Quantity %>
</td>
</tr>
<% } %>
<p>
<%: Html.ActionLink("Create New", "Create") %>
</p>
Et erreur Je RECEVOIR:
Compiler Error Message: CS1579: foreach statement cannot operate on variables of type 'ss.Models.OrderDetail' because 'ss.Models.OrderDetail' does not contain a public definition for 'GetEnumerator'
Pouvez-vous poster le code de votre vue (l'ASPX)? Cela pourrait nous aider à diagnostiquer l'erreur IEnumerable que vous voyez. – JMP
avez-vous un lien vers ce tutoriel? – Spooks
@Spooks - Ce serait le MusicStore ASP.Net à http://www.asp.net/mvc/tutorials/mvc-music-store-part-1 – RichardW1001