我把我的工作建立在哲学Haack的文章上:http://haacked.com/archive/2008/10/23/model- binding-to-alist.aspx 。
我也在这里审视了斯克拉奥韦罗的一些职位,我似乎无法回答我的问题,尽管他们可能提出解决办法。 我猜测我需要更多的分界线。
I m 试图为一种复杂类型,即其中一种特性是另一种复杂类型清单的观念而工作。 我的目标如下:
public class Data
{
public Data()
{
Assessments = new List<AssessmentItem>();
}
public String Associate { get; set; }
public String Department { get; set; }
public String JobTitle { get; set; }
public int StartPeriod { get; set; }
public int EndPeriod { get; set; }
public List<AssessmentItem> Assessments { get; set; }
}
public class AssessmentItem
{
public long Index { get; set; }
public String Heading { get; set; }
public String Comments { get; set; }
}
我试图利用《国土报》的文章所介绍的“为+控制模板”解决方案。 我的指数认为(注:它严格针对单一物体,而不是清单)。
这里是接受该职位的控制器方法(但我想这是初步意见的产生):
[HttpPost]
public ActionResult Index(Data data)
{
return View(data);
}
你们可以看到,在现阶段,它没有任何作用。 它只是重新展示所公布的数据。
这里是共享/电子模版的编辑模板。
(file name: AssessmentItem.ascx location:
Views/Shared/EditorTemplates)
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<Project.Models.AssessmentItem>" %>
<%@ Import Namespace="Project.Models" %>
Assessment Item Heading: <%= Model.Heading %>
<%= Html.HiddenFor(model => Model.Heading) %>
<%= Html.HiddenFor(model => Model.Index) %>
<%= Html.TextBoxFor(model => model.Comments) %>
<%= Html.ValidationMessageFor(model => model.Comments) %>
我感到困惑的是,我不敢确定每个评估项目的指数。 Haack s article & Code includes several HtmlHelper extensions methods, which I ve also included in my own Code, but that don t resolution the issue.
这里,我的看法是呼号(用于使用Html)。 中间的投标,但我无法说明如何对《示范法》加以约束。 3. 评估清单部分:
<% for (int i = 0; i < Model.Assessments.Count; i++) { %>
Entering Loop
<% Html.EditorFor(m => m.Assessments[i] ); %>
<% } %>
我承认,我这里的知识差距很大。 我只是与ASP一道打破了表面。 NET MVC 1在尝试ASP之前。 NET MVC 2, 但改进似乎值得改进。
一个非常奇怪的事情是,我似乎无法使用“ &”;%: %> syntax。 在我做任何事情的时候,我收到了数份时间错误汇编。 我可以使用典型和斜体;%的配对器;以及 我在此 st忙,因此,任何意见都会受到赞赏。 该法典没有留下任何错误。 页面负荷也好像没有被扔掉。 这只是要通过Html产生控制。 页: 1 登录Loop文本印刷了两次,因此我知道我的名单上有评估意向。
感谢一切帮助。