0

私はMVCを初めて使用しますが、理解できない問題があります。以下のコードは私が達成したいものです:

モデル:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace testapplication.Models {
    public class testModel {

        public class SystemUser {
            public string Name { get; set; }
            public string Email { get; set; }
        }

        public static List<SystemUser> list1;
        public static void CreateList1() {
            list1 = new List<SystemUser>();
        }

        public static void FillList1() {
            SystemUser firstUser = new SystemUser();
            firstUser.Name = "name";
            firstUser.Email = "email@address.com";
            list1.Add(firstUser);
        }

        public static List<SystemUser> list2 = new List<SystemUser>();    
        public static void FillList2() { 
            SystemUser firstUser = new SystemUser();
            firstUser.Name = "name";
            firstUser.Email = "email@address.com";
            list2.Add(firstUser);
        }

        public static string list3 = "test";
    }
}

コントローラ:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using testapplication.Models;

namespace testapplication.Controllers {
    public class HomeController : Controller {

        public ActionResult Index() {
            testModel.CreateList1();
            testModel.FillList1();
            testModel.FillList2();
            var var1 = testModel.list1;
            var var2 = testModel.list2;
            var var3 = testModel.list3;
            return View();
        }

        [HttpPost]
        public ActionResult Index(string test) {
            var var1 = testModel.list1;
            var var2 = testModel.list2;
            var var3 = testModel.list3;
            return View();
        }
    }
}

意見:

<h2>Index</h2>

@using (Html.BeginForm("Index", "Home", FormMethod.Post)) {
    <input type="submit" value="Submit" /> 
}

POSTメソッドlist1、list2、list3の前は問題ありませんが、Post list1がnullの直後は、list2は空(インスタンスが作成されます)、list3は問題ありません。何故ですか?POSTの前後で同じ値にしたい。

4

1 に答える 1