嗨,我是asp新手,我想問你一些幫助。我用MvcMusicStore教程幫助建立了商店。現在我想添加一個視圖來管理將只顯示OrderID(在Index View中)的訂單,然後在Details View中顯示更多信息。信息將來自表看起來像這樣:MVC,查看顯示數據
當我列出的OrderID,其倍增,因爲每個產品創建與表相同的OrderID新紀錄。有沒有什麼辦法只顯示一次每個ID?
然後我試圖在「詳細視圖」中顯示更多信息,但我再次失敗。我在控制器中使用此代碼:
public ActionResult Details(int id)
{
var orderdetail = storeDB.OrderDetails.Single(a => a.Order.OrderId == id);
return View(orderdetail);
}
但顯然它不會工作,因爲只有一個元素可以顯示。我也嘗試使用Details.aspx中的foreach循環,但是我收到了一些IEnumerables相關的錯誤。歡迎任何建議,對新手問題和糟糕的英語感到抱歉。謝謝。
編輯:這是控制器的索引視圖代碼(產品在我的表等於專輯教程):
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>" %>
指數
<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>
和錯誤,我recieving:
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 2011-02-04 19:58:29
你有鏈接到本教程嗎? – Spooks 2011-02-04 20:09:38