2010-08-10 86 views
1

我有以下asp.net MVC2模板:ASP.NET MVC 2 EditorFor渲染错误标记

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ncontinuity2.core.dto.TrainingLookUpContainer>" %> 
<%= Html.EditorFor(x => ViewData.Model.TrainingTree, "TrainingCategory")%> 

你可以看到,我想将它绑定到类型TrainingLookUpContainer的典范。

该问题,正在生成以下标记:

<input id="ViewData_Model_TrainingTree_TrainingCourses_0__Uid" name="ViewData.Model.TrainingTree.TrainingCourses[0].Uid" type="hidden" value="cbd43b5a-2a6a-493f-98e4-9dc9010cbaaf" /> 

我反对的位是元素和ViewData.Model的id的ViewData_Model_前缀。名称属性的前缀。

我不知道这个前缀来自哪里,这当然意味着模型在发布表单时从未受到约束。

有没有另外一种方法,我可以控制标记的产生,或者这是一个错误在框架中。我在其他部分使用了EditorFor,它工作正常。

回答

1

变化

<%= Html.EditorFor(x => ViewData.Model.TrainingTree, "TrainingCategory")%> 

<%= Html.EditorFor(x => x.TrainingTree, "TrainingCategory")%> 
+0

哈哈,臭虫以确实的框架,错误与我的大脑。 – dagda1 2010-08-10 08:57:53