Проблема:
Когда я отправляю форму, я теряю любую информацию, введенную в шаблоны редактирования для адресов.
У меня есть следующая модель:
public class MoveRecord
{
public Address StartPoint { get; set; }
public Address EndPoint { get; set; }
}
Где адрес определяется как:
public class Address
{
public String City { get; set;}
public String State { get; set; }
public String Line1{ get; set; }
public String PostalCode { get; set; }
}
Вот мой метод действия:
[HttpPost]
public ActionResult Edit(MoveRecord model)
{
if (ModelState.IsValid)
{
//Save info
}
return View(model);
}
Мое представление редактирования использует:
using (Html.BeginForm("Edit", "Move", FormMethod.Post))
{
@Html.EditorFor(m => m.StartPoint);
@Html.EditorFor(m => m.EndPoint);
<input type="submit" value="Save" />
}
Мой шаблон редактирования:
<table class="form address">
<tbody>
<tr>
<th style="width: 200px;">
@Html.LabelFor(m => m.Line1):
</th>
<td>
@Html.TextBoxFor(m => m.Line1, new { style = "width: 300px;" })
</td>
</tr>
<tr id="zip">
<th>
@Html.LabelFor(m => m.PostalCode):
</th>
<td>
@Html.TextBoxFor(m => m.PostalCode, new { style = "width: 150px;" })
</td>
</tr>
<tr id="city">
<th>
@Html.LabelFor(m => m.City):
</th>
<td>
@Html.TextBoxFor(m => m.City, new { style = "width: 150px;" })
</td>
</tr>
<tr id="state">
<th>
@Html.LabelFor(m => m.StateProvince):
</th>
<td>
@Html.TextBoxFor(m => m.StateProvince, new { style = "width: 150px;" })
</td>
</tr>
</tbody>
</table>
Все отображается очень хорошо, однако, когда я отправляю форму, модель, которую я получаю в методе действия, не содержит никакой информации, введенной в поле адреса. Если я перевожу все в одно и то же представление, то все будет работать нормально, но я хотел бы иметь возможность использовать шаблоны редактора, чтобы облегчить чтение моих представлений. Как я могу получить данные из шаблона редактора, правильно привязанные к модели?
Редактировать: Опубликовал мой метод действия