В моем домашнем контроллере у меня есть метод действия для формы редактирования, настроенный так:
public ActionResult Edit(int id)
{
Person p = DbPerson.GetPerson(id);
return View(p);
}
Вид:
@model Person
<h4 class="leftBG">Edit Form</h4>
id is : @Model.Id<br />
Name is : @Model.Name<br /><br />
@Html.LabelFor(m => m.Id, new { })
@Html.TextBoxFor(m => m.Id, new { })
@Html.LabelFor(m=>m.Name, new { })
@Html.TextBoxFor(m => m.Name, new { })
, когда я перехожу к: home/edit/1
Я получаю человека с id = 1, и все работает как положено ..
Однако, если я перехожу на home/edit/199
(в базе данных нет человека с id = 199), DbPerson.GetPereson возвращаетчеловек с id = 0
Однако, на мой взгляд, текстовое поле для идентификатора показывает: 199
, я не уверен, почему ...
Это ожидаемое поведение?
почему Model.Id равен 0
, а в текстовом поле отображается значение 199
?