Должен показывать данные модели в View с использованием JavaScript MVC C # - PullRequest
0 голосов
/ 01 декабря 2018

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

Форма работает нормально, за исключением случаев, когда возникает исключение, действие контроллера возвращает представление с моделью.

Это соответствует структуре модели:

Модель

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...