Here am trying to use EditorTemplates
for displaying list entity.
Below i mention code structure. PostResume
is parent model.
public class PostResume
{
.....
[UIHint("ResumeURL")]
public List<ResumeURL> ResumeURLs { get; set; }
.....
}
ResumeURL
is child model. This entity i need to display while user click add button.
public class ResumeURL
{
public string URL { get; set; }
public string Name { get; set; }
}
View part.
In my parent view Create.cshtml
i mention below script for adding child view HTML.
$('#add_url_button').on('click', function () {
$.get('/PostResume/AddURL').done(function (html) {
$('#url_from').append(html);
});
});
Parent view Action Methods.
public ActionResult AddURL()
{
var postResume = new PostResume();
postResume.ResumeURLs.Add(new ResumeURL());
return View(postResume);
}
I defined two views for displaying HTML in Parent view.
In ~/View/PostResume/EditorTemplates
location i defined ResumeURL.cshtml
view
@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>
}
And also i create AddURL.cshtml
view for display HTML part while clicking AddURL button in master view.
@model Nccoam_JobProject.Models.PostResume
@{
Layout = null;
}
@Html.EditorFor(x => x.ResumeURLs)
This is my post action, in that am not getting exact value in an EditorTemplate.
[HttpPost]
public ActionResult Create(PostResume model)
{
return View();
}
Here i mention image of my view.
As per above image, user need to click on "+Add URL" button then only two fields of child template need to be display. And user also click multiple times for adding URL. So i am not getting that List of fields value in Post Actions.
HTML for editor template view.
URL entity : <input class="form-control input" id="ResumeURLs_ResumeURL_URL" name="ResumeURLs.ResumeURL.URL" value="" type="text">
Name entity : <input class="form-control input" id="ResumeURLs_ResumeURL_Name" name="ResumeURLs.ResumeURL.Name" value="" type="text">
Thanks in an Advance.