EditorTemplates模型在Post动作中绑定null值

时间:2018-06-12 02:36:02

标签: jquery asp.net-mvc asp.net-mvc-5 mvc-editor-templates

这里我尝试使用Content-Type: text/plain; charset=3D"utf-8" Content-Transfer-Encoding: base64 QmFzZTY0IGlzIGEgZ2VuZXJpYyB0ZXJtIGZvciBhIG51bWJlciBvZiBzaW1pbGFyIGVuY29kaW5= n IHNjaGVtZXMgdGhhdCBlbmNvZGUgYmluYXJ5IGRhdGEgYnkgdHJlYXRpbmcgaXQgbnVtZXJpY2F= s bHkgYW5kIHRyYW5zbGF0aW5nIGl0IGludG8gYSBiYXNlIDY0IHJlcHJlc2VudGF0aW9uLiBUaGU= g QmFzZTY0IHRlcm0gb3JpZ2luYXRlcyBmcm9tIGEgc3BlY2lmaWMgTUlNRSBjb250ZW50IHRyYW5= z ZmVyIGVuY29kaW5nLg== 来显示列表实体。 下面我提一下代码结构。 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; } } 中,我在下面提到了添加子视图HTML的脚本。

Create.cshtml

父视图操作方法。

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

我定义了两个用于在父视图中显示HTML的视图。 在public ActionResult AddURL() { var postResume = new PostResume(); postResume.ResumeURLs.Add(new ResumeURL()); return View(postResume); } 位置,我定义了~/View/PostResume/EditorTemplates视图

ResumeURL.cshtml

我还在主视图中单击AddURL按钮时创建显示HTML部分的@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

这是我的帖子操作,因为我没有在EditorTemplate中获得准确的值。

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

我在这里提到了我的观点。 enter image description here

如上图所示,用户需要点击&#34; +添加网址&#34;按钮然后只需要显示两个子模板字段。用户还会多次单击以添加URL。 所以我没有在Post Actions中获得该字段列表值。

编辑器模板视图的HTML。 网址实体:[HttpPost] public ActionResult Create(PostResume model) { return View(); } 名称实体:<input class="form-control input" id="ResumeURLs_ResumeURL_URL" name="ResumeURLs.ResumeURL.URL" value="" type="text">

先谢谢你。

0 个答案:

没有答案