Эй, я новичок в asp, и я хотел бы попросить вас о помощи. Я создал магазин с помощью MvcMusicStore. Теперь я хочу добавить View для управления заказами, которые будут отображать только OrderID (в Index View), а затем больше информации в Details View. Информация будет поступать из таблицы, которая выглядит следующим образом:MVC, просмотр отображаемых данных
Когда я перечисляю OrderID, его мультипликативный, потому что каждый продукт создает новую запись с таким же OrderID в таблице. Есть ли способ показать каждый идентификатор только один раз?
Затем я попытался отобразить больше информации в Detaild View, но я снова не сработал. Я использовал этот код в контроллере:
public ActionResult Details(int id)
{
var orderdetail = storeDB.OrderDetails.Single(a => a.Order.OrderId == id);
return View(orderdetail);
}
, но очевидно, что это не будет работать, потому что может отображаться только один элемент. Я также пробовал с циклом foreach в Details.aspx, но я получал некоторую ошибку, связанную с IEnumerables. Любые советы приветствуются, жаль новых вопросов и плохой английский. Спасибо.
Edit: Вот код контроллера для Index View (продукт в моей таблице равно Альбом в учебнике):
public ActionResult Index()
{
var manageorders = storeDB.OrderDetails
.Include("Product").Include("Order")
.ToList();
return View(manageorders);
}
И подробности Просмотреть код:
<%@ 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>
И ошибка Я ПОЛУЧАТЬ:
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'
Можете ли вы опубликовать код с вашего вида (ASPX)? Это может помочь нам диагностировать ошибку IEnumerable, которую вы видите. – JMP
У вас есть ссылка на этот учебник? – Spooks
@Spooks - это будет ASP.Net MusicStore по адресу http://www.asp.net/mvc/tutorials/mvc-music-store-part-1 – RichardW1001