2016-09-12 1 views
1

この問題の解決方法を見つける方法がわかりません。主に、解決方法がわからないいくつかの側面があるためです。だからここにある。アイテムのあるオブジェクト:ビューコントローラの通信

は私がオブジェクトを持っている、のは、ObjectWithItems List<Item>項目のオブジェクトを持つそれを呼びましょう。どちらもビューとコントローラが別々になっています(これは私には論理的ですが、わかりません)。

私が達成しようとしているのは、ObjectWithItemsControllerのアクションを作成し、それに特有の情報を入力することです。次に、ActionLink「アイテムを追加」をクリックすると、のItemControllerのCreateアクションが表示されます。ビューが表示され、その特定の情報を入力します商品。私は方法がわからない何

は以下の通りである。私は現在項目を送信すると、ObjectWithItemsのビューを作成し、元に渡されるとList<Item>に追加する必要があります。さらに、の項目を呼び出す前に入力した情報が含まれていなければなりません。メソッドと対応するビューのレンダリング。

私はこれが少しぼやけていることを知っていますが、それは私がASP MVCの学習を始めたばかりで、何が何であるかまだ分かりません。このためのテストされたアプローチはありますか?

+1

これにはデータベースがありますか? –

+0

@AntoinePelletierはい、そうです。私はEFを使用しています。 – dzenesiz

+1

さて、単純な方法は、データベースにすぐに新しい項目を追加することです、あなたはObjectWithItemに戻ったとき、通常は新しいオブジェクトが表示されますか? –

答えて

1

オブジェクト、あなたは任意の種類のオブジェクトを格納する例を許可:

List<Table> Rows = db.Table.Where(t => t.id < 100).ToList(); // 100 first rows 

Session["TableRows"] = Rows; 

、後であなたがそれらを盗んたい:

List<Table> Rows = (List<Table>)Session["TableRows"] // don't forget to cast it 

ASPタイムアウトに達していない限り、オブジェクトはセッションに存在します

+1

@dzenesizもっと情報を必要としたり、何かが必要な場合は –

+1

私はちょうどあなたが知っている - これは私の問題を完全に解決しました。再度、感謝します! – dzenesiz

-2

View-controller間の通信は、フォームのHTTP Postを介して行われます。セッション[ "キー"]を使って

< form class="form-horizontal" method="post" > 
or @using (Html.BeginForm()) 

More info here with example

+0

これはまったく役に立ちません。私はフォームを提出する方法を知っています。それ以降はすべて私が興味を持っているものです。 – dzenesiz

関連する問題