Здесь я пытаюсь использовать 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();
}
Здесь я упоминаю изображение моего взгляда.
В соответствии с изображением выше, пользователь должен нажать кнопку «+ Добавить 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">
Заранее спасибо.