Модель EditorTemplates связывает нулевое значение в действиях Post - PullRequest
0 голосов
/ 12 июня 2018

Здесь я пытаюсь использовать EditorTemplates для отображения списка объектов.Ниже я упоминаю структуру кода.PostResume - родительская модель.

public class PostResume
{
    .....
    [UIHint("ResumeURL")]
    public List<ResumeURL> ResumeURLs { get; set; }
    .....
}

ResumeURL - дочерняя модель.Эту сущность мне нужно отобразить, пока пользователь нажимает кнопку добавления.

public class ResumeURL
    {        
        public string URL { get; set; }
        public string Name { get; set; }
    }

Просмотр части.В моем родительском представлении Create.cshtml я упоминаю ниже скрипт для добавления дочернего представления HTML.

$('#add_url_button').on('click', function () {
            $.get('/PostResume/AddURL').done(function (html) {                
                $('#url_from').append(html);
            });
        });

Методы действия родительского представления.

public ActionResult AddURL()
        {
            var postResume = new PostResume();
            postResume.ResumeURLs.Add(new ResumeURL());    
            return View(postResume);
        }

Я определил два представления для отображения HTML в представлении Parent,В ~/View/PostResume/EditorTemplates расположении я определил ResumeURL.cshtml представление

@model IEnumerable<Nccoam_JobProject.Models.ResumeURL>
@foreach (var ResumeURL in Model)
{
    <div class="form-group">
        <label for="URL">URL</label>
        @Html.TextBoxFor(model => ResumeURL.URL, new { @class = "form-control input" })
        @Html.ValidationMessageFor(model => ResumeURL.URL, "", new { @class = "text-danger" })
    </div>
    <div class="form-group">
        <label for="Name">Name</label>
        @Html.TextBoxFor(model => ResumeURL.Name, new { @class = "form-control input" })
        @Html.ValidationMessageFor(model => ResumeURL.Name, "", new { @class = "text-danger" })
    </div>
}

А также я создаю AddURL.cshtml представление для отображения HTML-части, нажимая кнопку AddURL в главном представлении.

@model Nccoam_JobProject.Models.PostResume
@{
    Layout = null;
}
@Html.EditorFor(x => x.ResumeURLs)

Этоявляется моим сообщением, в котором я не получаю точное значение в шаблоне EditorTemplate.

[HttpPost]
        public ActionResult Create(PostResume model)
        {
            return View();
        }

Здесь я упоминаю изображение моего взгляда.enter image description here

В соответствии с изображением выше, пользователь должен нажать кнопку «+ Добавить URL», тогда необходимо отобразить только два поля дочернего шаблона.И пользователь также нажимает несколько раз для добавления URL.Поэтому я не получаю это значение списка полей в действиях при публикации.

HTML для представления шаблона редактора.Сущность URL: <input class="form-control input" id="ResumeURLs_ResumeURL_URL" name="ResumeURLs.ResumeURL.URL" value="" type="text"> Имя сущности: <input class="form-control input" id="ResumeURLs_ResumeURL_Name" name="ResumeURLs.ResumeURL.Name" value="" type="text">

Заранее спасибо.

...