こんにちは、私は1つのアクションメソッドでリストに項目を追加できますが、リストを別のメソッドのビューに渡すたびにリストは空白に見えます。なぜこれがあり、誰かがこれを説明できるのだろうか?以前に別の方法で何かが追加されていると、リストが空白になるのはなぜですか?MVCコントローラのアクションでList <>にアイテムを保存できないのはなぜですか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Hotel.Models;
using System.Diagnostics;
namespace HotelTwee.Controllers
{
public class HomeController : Controller
{
public List<Hotel> preOrders = new List<Hotel>();
public IActionResult Index()
{
// List Count is ZERO here
return View(preOrders);
}
[HttpGet]
public IActionResult Create()
{
return View();
}
[HttpPost]
public IActionResult Create(Hotel order)
{
preOrders.Add(order);
// List COUNT is ONE here
return RedirectToAction("Index", preOrders);
}
}
}
EDIT:
RedirectToActionを取り外して固定している(、予約購入を "インデックス")
お使いのコントローラが要求ごとにインスタンス化され、それがどのような状態を保持しません。 –
しかし、私は自分のエクササイズのためにリストを使用しなければならない。この場合、データベースの代わりにリストを使用するにはどうしたらいいですか? –
データを永続媒体(例:データベース)に保存し、索引アクションで再度読み取る。 – Shyju