У меня есть страница, где я сохраняю информацию о пользователе, контакте и адресе.У пользователей может быть несколько контактов и адресов, поэтому я добавил элемент управления для динамического заполнения.
Форма работает нормально, за исключением случаев, когда возникает исключение, действие контроллера возвращает представление с моделью.
Это соответствует структуре модели:
Модель
public class UserModel
{
public UserDetail User { get; set; }
public IList<UserContact> Contact { get; set; }
public IList<UserAddress> Address { get; set; }
}
Модель контакта:
public partial class UserContact
{
public int Id { get; set; }
public int UserId { get; set; }
public string ContactType { get; set; }
public string Mobile { get; set; }
public string Email { get; set; }
public bool IsActive { get; set; }
public virtual UserDetail UserDetail { get; set; }
}
Модель адреса
public partial class UserAddress
{
public int Id { get; set; }
public int UserId { get; set; }
public string AddressType { get; set; }
public string AddressName { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string PostCode { get; set; }
public bool IsActive { get; set; }
public virtual UserDetail UserDetail { get; set; }
}
Когда возвращается значение,следующая функция предполагает проверку контакта и адреса, а затем заполнение каждой записи в динамически создаваемом видимом разделе ввода.
<script type="text/javascript">
$(document).ready(function () {
AddDynamicData();
function AddDynamicData() {
var valuesContacts = eval('@Html.Raw(Json.Encode(Model.Contact))');
var valuesAddresses = eval('@Html.Raw(Json.Encode(Model.Address))');
if (valuesContacts != null) {
var iContact = 0;
$(valuesContacts).each(function () {
$("#divContact").append(GetDynamicContact(iContact++, valuesContacts.contactType, valuesContacts.mobile, valuesContacts.email));
});
}
if (valuesAddresses != null) {
var iAddress = 0;
$(valuesAddresses).each(function () {
$("#divAddress").append(GetDynamicAddress(iAddress++, valuesAddresses.addressType, valuesAddresses.addressName, valuesAddresses.addressLine1, valuesAddresses.addressLine2, valuesAddresses.city, valuesAddresses.state, valuesAddresses.postCode));
});
}
}
</script>
Функция не работает должным образом, создает поле, но не заполняетввод данных пользователем в текстовое поле ... Посоветуйте, пожалуйста, как исправить то же самое и как заполнить записи в представлении ....
Добавлен вид после отправки формы
<Update>
#Updated New Code with function & added screenshot
</Update>