У меня нет БД, вместо БД у меня есть список массивов, у меня есть таблица, и когда я хочу Редактировать детали драйвера, я нажимаю «редактировать», после этого отображения меняюсь на страницу с деталями, после этого я могу изменить детали и нажать кнопку «Сохранить», моя проблема в том, что после нажатия кнопки «Сохранить» мой список массивов пропал, я не очень хорош в MVC, но я стараюсь изо всех сил! если кто-то видит, что я делаю неправильно, пожалуйста, скажите мне и объясните, спасибо
что мой контроллер
public class DriverTaxiController : Controller
{
static List<Drivers> Driver = new List<Drivers>();
public static int numLine = -1;
// GET: DriverTaxi
public ActionResult List()
{
Driver.Add(new Drivers() { Line = 1, NumberLicens = "123456", FirstName = "Evgeny", LastName = "Ryvkin", PhoneNumber = "0546819725", StartWork = "12/10/17", DateCheckEyes = "13/10/17"});
Driver.Add(new Drivers() { Line = 2, NumberLicens = "123457", FirstName = "Moshe", LastName = "Kohen", PhoneNumber = "0546819725", StartWork = "12/10/17", DateCheckEyes = "13/10/17" });
Driver.Add(new Drivers() { Line = 3, NumberLicens = "123458", FirstName = "Dana", LastName = "Multy", PhoneNumber = "0546819725", StartWork = "12/10/17", DateCheckEyes = "13/10/17" });
ViewBag.Drivers = Driver;
return View();
}
public ActionResult MyAction(int id=0)
{
for(int i = 0; i < Driver.Count; i++)
{
if(Driver[i].Line == id)
{
ViewBag.nl = Driver[i].NumberLicens;
ViewBag.fn = Driver[i].FirstName;
ViewBag.ln = Driver[i].LastName;
ViewBag.phone = Driver[i].PhoneNumber;
ViewBag.start = Driver[i].StartWork;
ViewBag.eye = Driver[i].DateCheckEyes;
ViewBag.line = Driver[i].Line;
}
}
numLine = id;
return View();
}
[HttpPost]
public ActionResult Update()
{
if (ModelState.IsValid)
{
numLine--;
Driver[numLine].NumberLicens = Request.Form["NumberLicens"];
Driver[numLine].FirstName = Request.Form["FirstName"];
Driver[numLine].LastName = Request.Form["LastName"];
Driver[numLine].PhoneNumber = Request.Form["PhoneNumber"];
Driver[numLine].StartWork = Request.Form["StartWork"];
Driver[numLine].DateCheckEyes = Request.Form["DateCheckEyes"];
return View("List2");
}
else
{
return View("MyAction");
}
}
что мой View Edit, когда я нажимаю кнопку, мои параметры не сохраняются в моем списке, я не понимаю, почему
@using (Html.BeginForm("Update", "DriverTaxi"))
{
@Html.TextBoxFor(Model => Model.NumberLicens, new { @Value = @ViewBag.nl }) @Html.ValidationMessageFor(x => x.NumberLicens)
<br />
@Html.TextBoxFor(Model => Model.FirstName, new { @Value = @ViewBag.fn })
<br />
@Html.TextBoxFor(Model => Model.LastName, new { @Value = @ViewBag.ln })
<br />
@Html.TextBoxFor(Model => Model.PhoneNumber, new { @Value = @ViewBag.phone })
<br />
@Html.TextBoxFor(Model => Model.StartWork, new { @Value = @ViewBag.start })
<br />
@Html.TextBoxFor(Model => Model.DateCheckEyes, new { @Value = @ViewBag.eye })
<br />
@Html.HiddenFor(Model => Model.Line)
<input type="submit" value="Save" />
@Html.ValidationSummary()
}
, что мой стол
<table class="table table-bordered table-responsive table-hover">
<tr>
<th>No.</th>
<th>Number Licens</th>
<th>Full Name</th>
<th>Phone Number</th>
<th>Start Work</th>
<th>Date Cheking the Eyes</th>
<th>Address</th>
<th>Email</th>
<th>Edit</th>
<th>Delete</th>
</tr>
@foreach (Drivers p in ViewBag.Drivers)
{
<tr>
<td>@p.Line</td>
<td>@p.NumberLicens</td>
<td>@p.FirstName @p.LastName </td>
<td>@p.PhoneNumber</td>
<td>@p.StartWork</td>
<td>@p.DateCheckEyes</td>
<td>
@Html.ActionLink("Edit", "MyAction", "DriverTaxi", new { id = p.Line }, null)
</td>
<td>addres</td>
<td>email</td>
<td><input id="Button2" type="submit" value="Delete" name="@p.NumberLicens" /></td>
</tr>
}`enter code here`
и это моя ошибка
введите описание изображения здесь