Я все еще новичок в MVC.В настоящее время у меня есть страница добавления человека, эта страница содержит имя, фамилию и домашний адрес человека, который является сложным объектом (включая адресную строку1, адресную строку2, состояние и т. Д.), Адрес доставки (такой же, как и домашний адрес).
Итак, я хотел бы создать частичное представление, которое будет использоваться для отображения адреса, но когда я отправляю форму, я не могу различить, какое значение для домашнего адреса, потому что домашний адрес и адрес доставки отображаются одинаковоимя в форме.
MyClass
Public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public int DateOfBirthMonth { get; set; }
public Gender Sex { get; set; }
public AddressModel HomeAddress { get; set; }
public AddressModel DeliveryAddress { get; set; }
public Person()
{
HomeAddress = new AddressModel();
DeliveryAddress = new AddressModel();
}
}
public class AddressModel
{
public string Addr1 { get; set; }
public string Addr2 { get; set; }
public string Suburb { get; set; }
}
public enum Gender
{
Male = 1,
Female = 2
}
Мой адрес Частичное представление
@model MvcApplication1.Models.AddressModel
<fieldset>
<legend>Address</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Addr1)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Addr1)
@Html.ValidationMessageFor(model => model.Addr1)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Addr2)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Addr2)
@Html.ValidationMessageFor(model => model.Addr2)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Suburb)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Suburb)
@Html.ValidationMessageFor(model => model.Suburb)
</div>
Добавить страницу пользователя
@using MvcApplication1.Models
@model MvcApplication1.Models.Person
@{
ViewBag.Title = "AddPerson";
}
AddPerson
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Person</legend>
<div class="editor-label">
@Html.LabelFor(model => model.FirstName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Gender)
</div>
<div class="editor-field">
@Html.DropDownListFor(m => m.Gender, Model.Sex.ToSelectList())
@Html.ValidationMessageFor(model => model.Sex)
</div>
<div class="editor-field">
@{Html.RenderPartial("_Address", Model.HomeAddress);}
</div>
<div class="editor-field">
@{Html.RenderPartial("_Address", Model.DeliveryAddress);}
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
@ Html.ActionLink («Вернуться к списку», «Индекс»)