Итак, я протестировал на чистом проекте проблему, которую получил, и выполнил следующую настройку кода для проверки, возвращает ли пользовательский объект Class ноль, помещенный в список:
ПРОСМОТР
<div>
<div class="jumbotron">
<h1 class="display-4"><span class="fas fa-user-secret"></span> Babcock Canada - Application Template</h1>
<br />
<div class="alert alert-primary" role="alert">
<span class="fas fa-info-circle"></span>
<span> This is the Babcock Canada MVC Application template for use in developing content-rich web applications.</span>
</div>
<hr class="my-4" />
</div>
<div>
<div class="container-fluid">
@if (!string.IsNullOrEmpty(Model.errorMessage))
{
<div class="alert alert-danger" role="alert">
<span class="fas fa-stop-circle"></span> @Html.DisplayFor(alert => alert.errorMessage)
</div>
}
@if (!string.IsNullOrEmpty(Model.successMessage))
{
<div class="alert alert-success" role="alert">
<span class="fas fa-check-circle"></span> @Html.DisplayFor(alert => alert.successMessage)
</div>
}
<div>
@using (Html.BeginForm("TestAction", "Default", FormMethod.Post))
{
@Html.HiddenFor(m => Model.tester[0].tester)
<button type="submit" class="btn btn-primary">
Submit 1
</button>
}
</div>
<div>
@using (Html.BeginForm("TestAction", "Default", FormMethod.Post))
{
@Html.HiddenFor(m => Model.tester[1].tester)
<button type="submit" class="btn btn-primary">
Submit 2
</button>
}
</div>
</div>
</div>
TestClass.cs
namespace Test.Models
{
public class TestClass
{
public string tester { get; set; }
}
}
МОДЕЛЬ
namespace Test.Models
{
/// <summary>
/// This is the default template model.
/// </summary>
public class DefaultModel : SharedModel
{
public string errorMessage = string.Empty;
public string successMessage = string.Empty;
public List<TestClass> tester { get; set; }
public DefaultModel()
{
}
public void Init()
{
tester = new List<TestClass>
{
new TestClass { tester = "Testing..." },
new TestClass { tester = "Testing2..." }
};
}
}
}
CONTROLLER
[HttpPost]
public ActionResult TestAction(DefaultModel model)
{
return View(model);
}
Таким образом, в результате второй возвращает NULL в списке, но первый возвращается просто отлично.
В моем другомИндекс проекта 0 списка, зацикленного таким же образом, возвращает ошибку: «Элемент с тем же ключом уже добавлен».
Так что я делаю не так?