MVCには、無作為に生成されたユーザーを追加するボタンがあり、各ユーザーがそれらを削除するための削除ボタンがあります。リスト。 コントローラからビューに送信し、1人のユーザーを生成します。もう1つ追加しようとすると、ただ変更されます。私はそれがリスト内の項目を削除すると思います。 リストをコントローラに戻すことを試みていますが、動作しません。 誰かが助けてくれますか?ViewからControllerへの送信リストの結果はnull MVCのリスト
マイモデル:
public class UsersClass
{
public int Code { get; set; }
public string Name { get; set; }
public UsersClass(int Code, string Name)
{
this.Code = Code;
this.Name = Name;
}
}
マイコントローラ:
List<UsersClass> UsersList = new List<UsersClass>();
public ActionResult Index()
{
return View(UsersList);
}
[HttpPost]
public ActionResult AddUser(List<UsersClass> UsersList)
{
if (UsersList == null)
{
int a = 123;
UsersList = new List<UsersClass>();
}
Random generator = new Random();
string[] vez_nevek = new string[10] { "Kovács", "Szekeres", "Király", "Szabó", "Vicha", "Kozma", "Ferencz", "Pócsi", "Tinka", "Horváth" };
string[] ker_nevek = new string[10] { "Lajos", "Barnabás", "Róbert", "Balázs", "János", "Béla", "Petra", "Anna", "Ferenc", "Attila" };
string vezetek_nev = vez_nevek[generator.Next(vez_nevek.Length)];
string kereszt_nev = ker_nevek[generator.Next(ker_nevek.Length)];
UsersList.Add(new UsersClass(generator.Next(100000, 999999), vezetek_nev + " " + kereszt_nev));
return View("~/Views/UserManagement/Index.cshtml", UsersList);
}
し、ユーザを追加するには、私の見る:
<h2>User Management</h2>
@using (Html.BeginForm("AddUser", "UserManagement", FormMethod.Post))
{
int index = 0;
foreach (var item in Model)
{
Html.Hidden("item[" + index + "].Code", item.Code);
Html.TextBox("item[" + index + "].Name", item.Name);
index++;
}
<input type="submit" value="Add User" />
}
あなたのモデルと関係がなく、決してそれにバインドされない 'name'属性を生成しようとすると、表示されたコードは' @ 'に' @ 'がないため、 Html.Hidden(...) ')。 @ Html.TextBoxFor(m => m [i])を使用して、ビューを正しく生成します。 .Name)} '。その後、[この回答]を参照してください(http://stackoverflow.com/questions/28019793/submit-same-partial-view-called-multiple-times-data-to-controller/28081308#28081308) –