我有以下EditorFor模板:ASP.NET MVC 2EditorFor不产生正确的名称属性
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<List<ContactDto>>" %>
<%@ Import Namespace="c2.bases.dto.structure"%>
<%
for (var i = 0; i < ViewData.Model.Count; i++)
{%>
<%=Html.EditorFor(x => x[i])%>
<%}
%>
的问题是,它不产生正确的名称属性,它生成的一个下面的名称属性元素:
name="TrainingLookUpContainer.Contacts.[0].Surname"
你可以看到有一个额外的'。'最后一个联系人之后和索引器[0]之前的字符。
应该
name="TrainingLookUpContainer.Contacts[0].Surname"
的对象是没有得到的,因为这必然会额外的“”。
该编辑器正在从另一个页面调用是这样的:
<div style="background: #fff;height:100%">
<%= Html.EditorFor(x => x.TrainingLookUpContainer.Contacts, "TrainingCategory")%>
</div>
我发现这篇文章,似乎暗示我这样做是正确link text。
我认为这可能是lamda,但我认为这可能是一个错误,由于嵌套。
我有一个工作,我通过Containing对象TrainingLookUpContainer,一切都很好。
任何人都可以提出一个更好的方式,只是绑定到列表?
Html.EditorForModel()在此实例中返回“{}”。 – dagda1 2010-06-29 14:06:18