2013-06-25 2 views
-1

У меня есть 2 модели с соотношением 1-1.MVC 4 Child Model Создание и редактирование просмотров

public class CustomerModel 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public AddressModel Address { get; set; } 
} 

public class AddressModel 
{ 
    public int Id { get; set; } 
    public string Street { get; set; } 
} 

Теперь мне нужен вид, что я могу связать модель адреса с клиентом, поэтому, в создании в customerModel, он принесет адрес создать тоже, и связаны между собой, как и в пост адрес будет в поле клиента.

+0

Создайте строго типизированное представление для 'CustomerModel', и вы можете получить доступ к Информация «Адрес» от «Заказчика». –

+0

Как @ Html.EditorFor (model => model.Address.Street); ? И как создать адрес, например, если я это сделаю, он скажет его нуль –

ответ

0
@model Mvc.Models.CustomerModel 


@Html.EditorForModel(Model) 
@Html.EditorFor(x => x.Address) 

Если вы создаете свой вид, как это, вы будете тогда иметь возможность отправлять обратно в результате действий, который принимает CustomerModel и связывание должно работать правильно

Вы, вероятно, хотите, чтобы сделать немного больше с пользовательскими аннотациями и т. д., так как я сомневаюсь, что вы захотите, чтобы пользователь мог редактировать идентификатор адреса, но это должно указывать на вас в правильном направлении.

+0

. Так что я могу поместить редакторный адрес без перехода по полю? Или я должен поставить EditorFor (x => x.Address.Street) ?? –

+1

Если это чисто для создания, вам не нужно знать Идентификатор существующего адреса, тогда да, EditorFor (X => x.Address.Street) должен работать на вас –

+0

И он будет связан с Model. Правильно? Если я хочу редактировать, не испортив идентификатор, он тоже будет работать? –