こんにちは、私はASPには初めてですし、何か助けを求めています。私はMvcMusicStoreチュートリアルヘルプでストアを構築しました。ここでは、OrderID(インデックスビュー)を表示するオーダーを管理するビューを追加してから、詳細ビューに詳細を追加します。情報は、次のようになりますテーブルから来る:MVC、表示データの表示
各製品は、テーブル内の同じ受注コードで新しいレコードを作成しますので、私は受注、その乗算を一覧表示します。各IDを一度だけ表示する方法はありますか?
次にDetaildビューに詳細を表示しようとしましたが、もう一度失敗しました。コントローラでこのコードを使用しました。
public ActionResult Details(int id)
{
var orderdetail = storeDB.OrderDetails.Single(a => a.Order.OrderId == id);
return View(orderdetail);
}
ただし、明らかに1つの要素しか表示できないため、機能しません。また、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ています:シーケンスの1つの以上の要素があるかどう
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 - これは、http://www.asp.net/mvc/tutorials/mvc-music-store-part-1のASP.Net MusicStoreになります。 – RichardW1001