Учитывая следующие модели,ASP.NET MVC UpdateModel пустое свойство
public class A
{
public string Name { get; set; }
}
public class B
{
public string Address { get; set; }
public A InstanceOfA { get; set; }
}
вид,
<%= Html.TextBox("A.Name") %>
и контроллер
UpdateModel<B>(b, collection.ToValueProvider());
мой экземпляр б будет содержать свойство с пустая строка для Name.
Есть ли в любом случае, чтобы UpdateModel установил свойство A равным null, если для имени не было введено никаких значений?
Чтобы прояснить, это простой случай, мой сценарий реального мира содержит модели данных с сотнями свойств этого файла. Определение этих моделей данных не в моих силах. Поэтому мне нужно решение для общего случая, т. Е. Не создавать свойство, если значения не были введены.
Дальнейшие разъяснения: мне нужно, чтобы это работало и в сценариях редактирования, то есть экземпляр b с именем A.Name, установленным в «foo», редактируется, чтобы установить A.Name в «», я хочу, чтобы A был нулевым.
Что делать, если я редактирую экземпляр B, который уже имеет экземпляр InstanceOfA.Name? Я предполагаю, что он сохранит исходное значение. – Neil
Если вы не удалите текст из «Html.TextBox (« A.Name »), он будет опубликован. Если экземпляр B имеет экземпляр A с пустым именем, то текстовое поле будет пустым и в результате этот элемент будет удален во время публикации, и значение не изменится на null. – zihotki