私はC#を初めて使っていますが、フォームを送信するときにフォームの値をキャッチして新しいアイテムを作成し、コードに従ってリストに入れます私は、foreachループで作成した項目を印刷.cshtmlファイルで古いアイテムを上書きせずに新しいアイテムを追加する
public ActionResult Movie()
{
int id = Convert.ToInt16(Request.Form["inputmovieid"]);
string name = Request.Form["inputmovietitle"];
int year = Convert.ToInt16(Request.Form["inputproductionyear"]);
List<Movie> movies = new List<Movie>();
Movie movieitem = new Movie(id, name, year);
movies.Add(movieitem);
return View(movies);
}
が、問題は、私は新しい項目の新しい値で再び、このフォームを送信した場合、それは古いものを上書きすることである。以下リスト内の
目的:フォームを再度送信するときに、古いアイテムを上書きせずに新しいアイテムをリストに追加します。誰もがこれを解決するために上記のコードを変更する方法を知っていますか?
今すぐ、あなたはすべてのリクエストで新しいリストを取得します。あなたはページの状態を保持するためにどこかのストレージを必要とするでしょう。映画のリストは、その状態に置く必要があります。これは、メモリやデータベース、クライアント側のJavaScriptベースのストレージなどのシンプルなセッションになる可能性があります。 –
問題は、作成/追加されたアイテムを保存しないことです。あなたがここでやっていることは毎回新しいリストを作成することです。その後、新しく作成されたリストに1つのアイテムを追加し、それを「表示」します。 –
私はC#を初めて使いました。コードサンプルをお願いしますか? – eqinna